我想将datatable标题列字段设置为Gridview HeaderTemplate的Label控件Text属性
答案 0 :(得分:1)
我不确定我理解你的问题,但是如果你想在TemplateField的HeaderTemplate和ItemTemplate中将数据源绑定到Labels,你可以这样做:
<asp:TemplateField HeaderText="YourField">
<HeaderTemplate>
<asp:Label runat="server" Text='<%# Eval("header_database_field") %>'/>
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("content_database_field") %>'/>
</ItemTemplate>
</asp:TemplateField>
header_database_field
和content_database_field
是数据库中您希望绑定的字段。
如果你想将一个DataTable的列名分配给一个TemplateField的标签,你可以在RowDataBound事件中以编程方式执行此类操作,但我不确定你为什么要这样做:
DataTable datatable = new DataTable(); // your dt
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
((Label)e.Row.Cells[0].Controls[1]).Text = datatable.Columns[0].ColumnName;
}
}
使用您的DataTable重新datatable
,并修改索引以引用您的Cell / Label(s)/ ColumnNames。