向行项数组添加值
本文关键字:添加 数组 | 更新日期: 2023-09-27 17:55:36
我正在使用一些DataRow,并使用它,一些ItemArray。
我知道如何将值放入 ItemArray,但在创建新行时我不知道如何设置值。
所以我试了这个:
DataRow newRow = vDsMod.Tables[0].NewRow();
newRow.ItemArray[0] = "".ToArray();
newRow.ItemArray[1] = "".ToArray();
newRow.ItemArray[2] = "Employee".ToArray();
newRow.ItemArray[3] = "".ToArray();
vDsMod.Tables[0].Rows.Add(newRow);
或
DataRow newRow = vDsMod.Tables[0].NewRow();
newRow.ItemArray.SetValue("", 0);
newRow.ItemArray.SetValue("", 1);
newRow.ItemArray.SetValue("Employee", 2);
newRow.ItemArray.SetValue("", 3);
vDsMod.Tables[0].Rows.Add(newRow);
但我在 ItemArray 中只得到了空字段。值 0,1,3 可以为空,由于其他行的 ItemArray 长度为 4,因此我也设置了 4 个值。
我怎样才能做我想做的事?
ItemArray
返回一个包含所有字段的object[]
。通过此处的索引访问它:
newRow.ItemArray[0] = "".ToArray();
您正在访问单个字段并分配新值。但是你分配了一个char[]
,因为你使用了String.ToArray()
,这是没有意义的。
相反,我会使用强类型SetField
方法,该方法也支持可为空的类型:
DataRow newRow = vDsMod.Tables[0].Rows.Add();
newRow.SetField(0, "");
newRow.SetField(1, "");
newRow.SetField(2, "Employee");
newRow.SetField(3, "");
有了Rows.Add();
,DataRow
就已经添加。是使用DataTable.NewRow()
并在以后手动添加还是DataTable.Rows.Add()
添加是一个品味问题。
你可以按下面去..
DataRow relation;
// Declare the array variable.
object [] rowArray = new object[2];
for(int i = 0; i <10; i++)
{
rowArray[0]=null;
rowArray[1]= "item " + i;
relation = dt.NewRow();
relation.ItemArray = rowArray;
dt.Rows.Add(relation);
}
我希望它能帮助你是的,它在微软帮助上。但是根据你的问题,你似乎没有搜索一点点,你只是提出了这个问题。您想知道如何初始化 ItemArray(我能理解的),您可以找到很多与此相关的示例。