我想将数据表标题列字段设置为Gridview的Label controls Text属性HeaderTemplate
我不确定我理解你的问题,但如果你想从数据源绑定到TemplateField的HeaderTemplate和ItemTemplate中的标签,你可以这样做:
<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
从数据库的字段,您希望绑定。
如果您想将数据表的列名分配给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。