【发布时间】:2011-05-30 08:38:33
【问题描述】:
我从 DataGridView 获取一个值,并且基于特定我想知道它使用 DataTable 对象的行索引。例如,如果我得到值“this”,那么我想知道它在表中的索引。请问我应该怎么做
【问题讨论】:
标签: c# .net winforms datatable
我从 DataGridView 获取一个值,并且基于特定我想知道它使用 DataTable 对象的行索引。例如,如果我得到值“this”,那么我想知道它在表中的索引。请问我应该怎么做
【问题讨论】:
标签: c# .net winforms datatable
如果该值“this”属于DataTable 中的Non-Primary-Key Column,则可能会返回多行。
要在DataTable 中查找值,请使用DataTable 的Select() 方法:
DataRow[] rows = dt.Select("Column1 = 'this'");
获得行后,您可以使用DataTable.Rows.IndexOf() 方法找到其索引。
我建议您从DataTable 找到更好的方法来定位您的行。可能会使用属于 Primary Key Column 的值来查找行。
很高兴知道您为什么要这样做。有人可以提出更好的解决方案。
【讨论】:
IndexOf() 中传递一个DataRow 对象作为参数。
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);
【讨论】: