繁体   English   中英

向 Row ItemArray 添加值

[英]Adding values to a Row ItemArray

我正在使用一些 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(我可以理解)并且您可以找到很多与此相关的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM