首页 > 解决方案 > 如何使用相同数据表的第一行更改数据表列名值

问题描述

我正在从其他数据表(dt)中获取数据表(dt1)值,如下所示

DataTable dt1 = dt; 

我在 dt1 中得到如下输出

https://imgur.com/a/mOSCbDo

我想要像下面这样的输出

ChildrenBoth  CCTVcameras   AvailableOpenSpace    SufficientSpace

ChildrenBoth  CCTVcameras   AvailableOpenSpace    SufficientSpace
     No             No             No                  No

我不希望 Column2,Column3,Column4,Column5 作为标题,标题应该是数据表的第一行

标签: c#asp.netdatatablewebforms

解决方案


您可以在多个级别上执行此操作。就像在 GridView 中一样HeaderText

<asp:GridView ID="GridView1" runat="server">
    <Columns>
        <asp:BoundField HeaderText="MyHeader 1" />
        <asp:TemplateField HeaderText="MyHeader 2">
            <ItemTemplate>

            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

或者更改 DataTable 中的名称。

dt1.Columns[0].ColumnName = "MyHeader";

或者在查询本身中。

SELECT column4 as 'new column name' FROM table

给列第一行的名称

for (int i = 0; i < dt.Columns.Count; i++)
{
    dt.Columns[i].ColumnName = dt.Rows[0][i].ToString();
}

推荐阅读