如何从DataTable对象知道行索引

时间:2010-12-24 09:56:31

标签: c# .net winforms datatable

我从DataGridView获取一个值,并根据具体情况我想知道使用DataTable对象的行索引。例如,如果我得到值“this”,那么我想知道它在表中的索引。我可以知道我该怎么办

3 个答案:

答案 0 :(得分:15)

如果该值“this”属于Non-Primary-Key Column中的DataTable,则可能会返回多行。

要在DataTable中查找值,请使用DataTable的{​​{1}}方法:

Select()

获得行后,您可以使用DataRow[] rows = dt.Select("Column1 = 'this'"); 方法找到其索引。

我建议您找到一种更好的方法来从DataTable.Rows.IndexOf()找到您的行。可以使用属于DataTable的值来查找行。

很高兴知道你为什么要这样做。有人可以提出更好的解决方案。

答案 1 :(得分:5)

DataRow[] result = tableName.Select("Group >= 'Commentary - Yes'");
  if (result.Length > 0)
     {
          int SelectedIndex =tableName.Rows.IndexOf(result[0]);
     }

答案 2 :(得分:-1)

System.Data.DataRowView row1 =(System.Data.DataRowView)dataGridView1.CurrentRow.DataBoundItem;                 int idx11 = row1.Row.Table.Rows.IndexOf(row1.Row);