我知道在DataTable
中我想要多少行和列。设为rows X columns
。如何初始化数据库,以便已经有足够的空间。
我想这样做是为了方便。我希望能够写出:datasource.Rows[i].ItemArray[j] = "2";
其中i
和j
小于rows
和columns
,并且不会导致异常。
var datasource = new System.Data.DataTable();
答案 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}}。