如何从 DataTable 对象中知道行索引
Posted
技术标签:
【中文标题】如何从 DataTable 对象中知道行索引【英文标题】:How to know the row index from DataTable object 【发布时间】:2011-05-30 08:38:33 【问题描述】:我从 DataGridView 获取一个值,并且基于特定我想知道它使用 DataTable 对象的行索引。例如,如果我得到值“this”,那么我想知道它在表中的索引。请问我应该怎么做
【问题讨论】:
【参考方案1】:如果该值“this”属于DataTable
中的Non-Primary-Key Column
,则可能会返回多行。
要在DataTable
中查找值,请使用DataTable
的Select()
方法:
DataRow[] rows = dt.Select("Column1 = 'this'");
获得行后,您可以使用DataTable.Rows.IndexOf()
方法找到其索引。
我建议您从DataTable
找到更好的方法来定位您的行。可能会使用属于 Primary Key Column
的值来查找行。
很高兴知道您为什么要这样做。有人可以提出更好的解决方案。
【讨论】:
如果我使用 int nIndex = DataSet.DataTable[0].Rows.Indexof() 它会给我错误信息。 @RushabhShah:在IndexOf()
中传递一个DataRow
对象作为参数。
问题是如何在 FIRST PLACE 中获得当前的 DataRow?请展开【参考方案2】:
DataRow[] result = tableName.Select("Group >= 'Commentary - Yes'");
if (result.Length > 0)
int SelectedIndex =tableName.Rows.IndexOf(result[0]);
【讨论】:
【参考方案3】:using System.Data;
DataRowView row1 = (DataRowView)dataGridView1.CurrentRow.DataBoundItem;
int idx11 = row1.Row.Table.Rows.IndexOf(row1.Row);
【讨论】:
虽然此代码可能会回答作者的问题,但请考虑提供解释,因为代码只是一个示例,SDK/API 可能会随着时间而改变。以上是关于如何从 DataTable 对象中知道行索引的主要内容,如果未能解决你的问题,请参考以下文章
c#从dataTable中取出行,不知道是第几行,只知道行中数据!
如何从 UITableView 获取行索引,其中数组列表由追加到类