在一行中写一个 Add Row 和 NewRow

Posted

技术标签:

【中文标题】在一行中写一个 Add Row 和 NewRow【英文标题】:Write an Add Row with NewRow in one line 【发布时间】:2021-09-07 21:08:18 【问题描述】:

我想在现有表中添加新行。我想用 NewRow 方法创建一个新行并将值放在同一行。

DataTable dtTable1 = new DataTable();
dtTable1.Rows.Add(new DataColumn(NCdeTCMParametrs.NombreCol1), typeof(string));
dtTable1.Rows.Add(new DataColumn(NCdeTCMParametrs.NombreCol2()), typeof(string)); 
        
        
dtTable1.Rows.Add(dtTable1.NewRow()  new object[]  datCol1, string.Join(",", listCol2)  );

我找不到正确的语法让它被接受。什么错误?

【问题讨论】:

你为什么不使用这个重载? docs.microsoft.com/en-us/dotnet/api/… 【参考方案1】:

您只需要使用带有Object[]DataRowCollection.Add

dtTable1.Rows.Add(new object[]  datCol1, string.Join(",", listCol2) );

DataTable.NewRow 用于单独初始化每个字段,因此如果要一次传递整个数组则不需要它。您也可以使用NewRow 并使用ItemArray 一次初始化所有字段,但您需要多行:

DataRow row = dtTable1.NewRow();
row.ItemArray = new object[]  datCol1, string.Join(",", listCol2) ;
dtTable1.Rows.Add(row);

第三种选择是添加一个空行,然后修改已经添加的行:

DataRow addedRow = dtTable1.Rows.Add();
addedRow.ItemArray = new object[]  datCol1, string.Join(",", listCol2) ;

【讨论】:

谢谢。错误是添加了 NewRow。只需对象 [] 就足够了。 dtTable1.Rows.Add(new object[] datCol1, string.Join(",", listCol2) ); @user2979594:是的,所以我在第一句话的回答中所说的:) 我想你知道Rows.Add 是用params 定义的,所以你不需要new object[]

以上是关于在一行中写一个 Add Row 和 NewRow的主要内容,如果未能解决你的问题,请参考以下文章

Flutter中常用的组件-Row

Flutter中常用的组件-Row

给DataTable中添加一行数据

asp.net的NewRow()、Rows是有啥作用?有啥用法呢?

623. Add One Row to Tree 将一行添加到树中

DataTable操作(建表,建行,建列,添加数据)