Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从DataTable对象知道行索引_C#_.net_Winforms_Datatable - Fatal编程技术网

C# 如何从DataTable对象知道行索引

C# 如何从DataTable对象知道行索引,c#,.net,winforms,datatable,C#,.net,Winforms,Datatable,我从DataGridView中获取一个值,并根据具体情况,使用DataTable对象了解其行索引。例如,如果我得到值“this”,那么我想知道它在表中的索引。我可以知道我应该怎么做吗如果该值“this”属于数据表中的非主键列,则可能会返回多行 要在DataTable中查找值,请使用DataTable的Select()方法: DataRow[] rows = dt.Select("Column1 = 'this'"); 获取行后,可以使用DataTable.Rows.IndexOf()方法查找其

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

如果该值“this”属于
数据表中的
非主键列
,则可能会返回多行

要在
DataTable
中查找值,请使用
DataTable
Select()
方法:

DataRow[] rows = dt.Select("Column1 = 'this'");
获取行后,可以使用
DataTable.Rows.IndexOf()
方法查找其索引

我建议您找到一种更好的方法,从
DataTable
查找行。可以使用属于
主键列的值查找行


如果能知道你为什么要这样做,那就太好了。有人可能会想出更好的解决方案。

如果我使用int-nIndex=DataSet.DataTable[0].Rows.Indexof(),它会给我错误消息。@RushabhShah:在
Indexof()
中传递一个
DataRow
对象作为参数。问题是如何首先获取当前数据行?请扩展此代码可以回答作者的问题,请考虑提供一个解释,因为代码只是一个示例,SDK的/API可能随时间而改变。
DataRow[] result = tableName.Select("Group >= 'Commentary - Yes'");
  if (result.Length > 0)
     {
          int SelectedIndex =tableName.Rows.IndexOf(result[0]);
     }
using System.Data;

DataRowView row1 = (DataRowView)dataGridView1.CurrentRow.DataBoundItem;

int idx11 = row1.Row.Table.Rows.IndexOf(row1.Row);