如何将数据表标题列字段设置为Gridview HeaderTemplate标签控件文本

时间:2012-01-02 12:33:34

标签: c# asp.net gridview .net-3.5

我想将datatable标题列字段设置为Gridview HeaderTemplate的Label控件Text属性

1 个答案:

答案 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_fieldcontent_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。