如何在for循环的数据表中添加列式行值

时间:2016-08-03 08:33:49

标签: c#

如何在数据表中添加行

代码

DataTable dt = new DataTable();
            dt.Clear();
            DataColumn dc = new DataColumn("day1", typeof(String));
            dt.Columns.Add(dc);

            dc = new DataColumn("day2", typeof(String));
            dt.Columns.Add(dc);

            dc = new DataColumn("day3", typeof(String));
            dt.Columns.Add(dc);

tString[0] = "Sat,mon,tue";
tString[1] = "Fri,,wed";
tString[2] = "Thu,";

 int lengthA = tString.Length;

 for (int i = 0; i <= lengthA - 1; i++)
            {
                string s = tString[i];

                    string[] words = s.Split(',');
                    foreach (string word in words)
                    {
                            dt.Rows.Add(word);
                    }

                }

dt.Rows.Add(word)中的问题,因为它正在插入一行

预期产出

数据表值应为

day1, day2, day3

sun,mon,tue
Fri,Wed
Thu

热门实现这一点,任何人都可以帮助我

1 个答案:

答案 0 :(得分:2)

只需创建一个NewRow(),然后将值添加到每个列的Item indexer

for (int i = 0; i <= lengthA - 1; i++)
{
    string s = tString[i];
    string[] words = s.Split(',');
    // here is the new row
    var row = dt.NewRow(); 
    for(int w = 0; w < words.Length; w++)
    {
        // set each column
        row[w] = words[w];     
    }
    // don't forget to add the Row to the Rows collection
    dt.Rows.Add(row);
}