huzaifa.osman Ответов: 4

Как установить значение элемента управления ItemTemplate из кода позади?


Дорогие Все,

Как установить или присвоить значение элементу управления ItemTemplate Lable в gridview из кода позади?

Я пробовал, но никакого решения. Это очень срочно.

Жду вашего быстрого ответа. Пожалуйста, найдите ниже мой код



исходный код HTML:

<asp:GridView ID="grdXML" AutoGenerateColumns="False"  runat="server">
                     <Columns>
                     <asp:TemplateField HeaderText="">
                        <ItemTemplate>
                            <asp:Label ID="UserID" runat="server" Text="" />
                        </ItemTemplate>
                        </asp:TemplateField>
                        <asp:TemplateField HeaderText="">
                        <ItemTemplate>
                            <asp:Label ID="Uname" runat="server" Text="" />
                        </ItemTemplate>
                        </asp:TemplateField>
                     </Columns>
                     </asp:GridView>



Код Позади (C#.Net)
protected void Page_Load(object sender, EventArgs e)
{
  ((Label)grdXML.FindControl("UserID")).Text = "Sample text";
}


[править]блок кода фиксированной[/правка]

Navaid Farooqui

этот код должен быть в событии GridView rowcreated или в rowcommand

4 Ответов

Рейтинг:
2

Raj Parashar

В следующем примере объясняются элементы управления для установки значения в шаблон элемента-----

//Add onRowDataBound event to your grid and write the following code server side

protected void gridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
 
//make sure to have UserID as itemtemplate in your grid
 
Label lblUserID= (Label)e.Row.FindControl("UserID");
 
 lblUserID.Text="Sample Text";
}


это определенно сработает....


kalsa

Лучший из них

Рейтинг:
2

kalsa

Вы также можете использовать этот код.

protected void AspGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {    
      if(e.Row.RowType == DataControlRowType.DataRow)
        {
            DataRowView v = (DataRowView)e.Row.DataItem;           
            
            if (e.Row.Cells.Count > 0 && e.Row.Cells[0] != null && e.Row.Cells[0].Controls.Count > 0)
            {
                Label link = e.Row.Cells[0].Controls[0] as Label;
                if (link != null)
                {                    
                        link.Text = "Edit";
                }
               
            }            

        }

    }


Рейтинг:
1

babu saravanan

Напишите код в событии grdXML_ItemDataBound



If TypeOf e.Item Is GridDataItem Then


 Dim objCommentLabel As Label = selectedItem("TemplateCOlumnID).FindControl("UserID")

objCommentLabel.text ="Insert some message"


End IF


Рейтинг:
0

Sandeep Mewara

Получите доступ к элементам управления на уровне строк и найдите нужный элемент управления с помощью FindControl. У вас будет доступ к строкам в RowDataBound метод события.