用C#数据表的第一行覆盖列标题

时间:2018-12-14 11:15:10

标签: c# datatable header console-application

我想知道是否存在效率的方式来覆盖column的{​​{1}}标头的第一个datatable

为了说明我的观点,假设有人将row作为示例

datatable

Column 0 Column 1 Column 2

--------------------------

事实上,可以使用

x1 x2 x3;

dataTable.Columns["Column 0"].ColumnName = "x1";等

dataTable.Columns["Column 1"].ColumnName = "x2";

但是,如果有人处理dataTable.AcceptChanges()50 100,则此手动更新的效率无疑会低下。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Data;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            //Your code goes here
            Console.WriteLine("Hello, world!");
            DataTable table = new DataTable();
            table.Columns.Add("Dosage", typeof(int));
            table.Columns.Add("Drug", typeof(string));
            table.Columns.Add("Patient", typeof(string));
            //table.Columns.Add("Date", typeof(DateTime));

            // Here we add five DataRows.
            table.Rows.Add(25, "Indocin", "David");
            table.Rows.Add(50, "Enebrel", "Sam");
            table.Rows.Add(10, "Hydralazine", "Christoff");
            table.Rows.Add(21, "Combivent", "Janet");
            table.Rows.Add(100, "Dilantin", "Melanie");
            if(table.Rows.Count > 0)
            {
                for(int i = 0; i < table.Columns.Count; i++){
                    string columnName = Convert.ToString(table.Columns[i]);
                    table.Columns[columnName].ColumnName = Convert.ToString(table.Rows[0][i]);
                }
            }

            for(int i = 0; i < table.Columns.Count; i++){
                Console.WriteLine(table.Columns[i]);
            }
        }
    }
}