如何使用一定长度的空行初始化DataTable?

时间:2014-10-02 22:56:50

标签: c# .net datatable

我知道在DataTable中我想要多少行和列。设为rows X columns。如何初始化数据库,以便已经有足够的空间。

我想这样做是为了方便。我希望能够写出:datasource.Rows[i].ItemArray[j] = "2";其中ij小于rowscolumns,并且不会导致异常。

var datasource = new System.Data.DataTable();

1 个答案:

答案 0 :(得分:5)

如果要创建一个空行的x行和y列的DataTable

var datasource = new System.Data.DataTable();
int columns = 10;
int rows = 100;
for(int i = 0; i < columns; i++)
    datasource.Columns.Add();
string[] fields = new string[columns];
for(int i = 0; i < rows; i++)
    datasource.Rows.Add(fields);

现在这适用于:

datasource.Rows[25][6] = "2";

请注意,它不会通过您在问题中显示的DataRow.ItemArray起作用:

datasource.Rows[i].ItemArray[j] = "2" 

因为ItemArray property-getter返回一个新的object[],所以只有当你想要替换一行中的所有字段时才能使用它,因此我使用了row-indexer:{ {1}}。