当前位置:  开发笔记 > 编程语言 > 正文

将值添加到Row ItemArray

如何解决《将值添加到RowItemArray》经验,为你挑选了1个好方法。

我正在使用一些DataRow和它,一些ItemArray.

我知道如何将值传入ItemArray,但是当我创建一个新Row时,我不知道如何设置值.

所以我尝试了这个:

                    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个值.

我怎么能做我想做的事?



1> Tim Schmelte..:

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().

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有