在一行中写一个 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的主要内容,如果未能解决你的问题,请参考以下文章
asp.net的NewRow()、Rows是有啥作用?有啥用法呢?