在预定义索引处将数据行添加到数据表
Posted
技术标签:
【中文标题】在预定义索引处将数据行添加到数据表【英文标题】:Add data row to datatable at predefined index 【发布时间】:2014-01-05 08:20:38 【问题描述】:我有一个包含一列的数据表:
this.callsTable.Columns.Add("Call", typeof(String));
然后我想在该数据表中添加一行,但想给出一个特定的索引,注释的数字是所需的索引:
this.callsTable.Rows.Add("Legs"); //11
更新:
必须能够处理输入数百行具有唯一性的 索引。 无论有没有足够的索引都必须是我定义的 表中的行或不用于 insertat 函数。【问题讨论】:
【参考方案1】:您可以使用DataTable.Rows.InsertAt
方法。
DataRow dr = callsTable.NewRow(); //Create New Row
dr["Call"] = "Legs"; // Set Column Value
callsTable.Rows.InsertAt(dr, 11); // InsertAt specified position
见:DataRowCollection.InsertAt Method
如果为 pos 参数指定的值大于 集合中的行数,新行添加到末尾。
【讨论】:
如果我想为几百行定义某些索引怎么办?我不想为每一行做所有这些,也不想每次都定义一个不同的 Datarow 变量,这也每次都必须有一个新名称。另外,无论表中是否有足够的行,我都希望索引是我选择的。 @RyanMurphy,InsertAt
只接受 DataRow
作为参数,所以你必须使用它。但您可以在迭代中重用变量dr
。
说我有:DataRow dr = callsTable.NewRow();博士[“呼叫”] =“腿”;调用Table.Rows.InsertAt(dr, 11);博士[“呼叫”] =“武器”;调用Table.Rows.InsertAt(dr, 9);它说这一行已经在数据表中。
@RyanMurphy,在再次使用dr
之前,您需要先执行dr = dt.NewRow();
。
@Habib 由于某些情况,有时我只返回没有数据的字段(列),因此 DT.NewRow() 会引发对象引用异常。以上是关于在预定义索引处将数据行添加到数据表的主要内容,如果未能解决你的问题,请参考以下文章
通过 AFNetworking 在指定索引处将 UIImage 添加到 NSMutableArray
Kotlin 在多个索引处将 Arraylist 拆分为多个部分