在ASP.NET中使用C#,. NET3.5 F / W
您好,
我有一个包含文本框和标签控件的模板列的Gridview。
通过一些查询和存储过程的代码,我得到了一些数据到数据表。现在我想将这个数据表列字段或名称传递给Gridview Label控件。
如何将数据表列标题名称设置为标题模板的gridview标签控件?
答案 0 :(得分:0)
试试这个
<asp:TemplateColumn >
<ItemTemplate>
<asp:Label id=Label1 runat="server"
Text='<%# DataBinder.Eval(Container,EmployeeName") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
答案 1 :(得分:0)
它被称为绑定here is link
<asp:TemplateColumn>
<ItemTemplate HeaderText="PersonId">
<asp:Label id=Label1 runat="server"
Text='<%# Eval("NameOfColumnt") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
答案 2 :(得分:0)
为此,您必须为网格视图提供数据源:
yourGridView.DataSource = yourDataTable;
yourGridView.DataBind();
执行此操作后,您只需将模板列中的每个控件链接到数据表中的列,例如:
<HeaderTemplate>SomeText</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="a" Text='<%# Eval("nameOfTheColumn") %>' runat="server"></asp:Label>
</ItemTemplate>
编辑: 关于您的其他问题,我建议您动态地将绑定字段添加到网格视图中,而不是立即在aspx中添加。像这样:
foreach (DataColumn column in dt.Columns)
{
BoundField nameColumn = new BoundField();
nameColumn.DataField = column.ColumnName.ToString();
nameColumn.SortExpression = column.ColumnName.ToString();
nameColumn.HeaderText = column.ColumnName.ToString();
gridView.Columns.Add(nameColumn);
}
通过这种方式,您不必确切地知道您拥有多少列,并且能够将它们命名为数据表中的列。