首页 > 解决方案 > 如何使用 C# 编辑数据表列标题名称?

问题描述

我的 C# 程序中有一些逻辑块,因为我是 C# 编程的新手。

我有一个带有重复标题列名称的数据表。我必须更改我的重复标题,例如连接前一列的名称以使这些标题唯一。表名是动态出现的。

当前数据表 dTable

 ID |Name|Age| School |  Name | state| Part| Country|Division|Part

预期数据表

 ID |Name|Age| School |  Name+school | state| Part| Country|Division|Part+Division

我在下面尝试并阻止的内容

public DataTable RemoveDuplicateRows(DataTable dTable)
{
    string[] columnNames = dTable.Columns.Cast<DataColumn>().Select(x => x.ColumnName).ToArray();

    for (int i = 0; i < columnNames.Length; i++)
    {
        columnNames[i] = columnNames[i].Split('.')[0].Trim();
    }

    for (int i = 0; i < columnNames.Length; i++)
    {
        // create nested loop for compare current values with actual value of arr
        for (int j = i + 1; j < columnNames.Length; j++)
        {
            if (columnNames[i] == columnNames[j])
            {
                var previous = columnNames[i - 1];
                var current = columnNames[i];
                columnNames[i] = current + previous;

                // blocked here
                // only one header is concatenating
                // how can I add this newly edited columns to my datatable
            }
        }
    }

    return dTable; //cant get updated column headers
}

标签: c#.netdatatable

解决方案


推荐阅读