在预定义索引处将数据行添加到数据表

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

.Net 将索引添加到数据表(数据集)

Kotlin 在多个索引处将 Arraylist 拆分为多个部分

熊猫如何通过数据框列值获取行索引

R语言在dataframe的特定索引位置添加数据行而非在dataframe末尾append数据行实战

Pandas 从重采样中检索添加行的索引