gpt4 book ai didi

c# - 向行 ItemArray 添加值

转载 作者:行者123 更新时间:2023-12-05 08:43:50 24 4
gpt4 key购买 nike

我正在使用一些 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() 取决于个人喜好。

关于c# - 向行 ItemArray 添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22781235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com