如何查找行号数据表
本文关键字:数据表 查找 何查找 | 更新日期: 2023-09-27 18:00:46
我在web应用程序上工作,必须在dataTable中找到一个行位置。请帮我弄清楚。这是windows应用程序代码示例
pos = paesiBindingSource.Find("ISOCode", country);
我想在我的webApp中做的是这里的
pos = Convert.ToInt32(PerfDBCountryTable.Select(country, "ISOCode").ToString());
表中没有返回DataRow
索引的直接属性。
但是你可以使用DataRowCollection.IndexOf
:
DataRow[] rows = PerfDBCountryTable.Select("Country = " + country, "ISOCode");
if(rows.Length > 0)
{
int index = PerfDBCountryTable.Rows.IndexOf(rows[0]);
}
另一种方法是使用Linq-To-DataTable
:
int firstMatchingRowIndex = PerfDBCountryTable.AsEnumerable()
.Select((row, index) => new { row, index })
.Where(x => x.row.Field<string>("Country") == country)
.Select(x => x.index)
.DefaultIfEmpty(-1)
.First();
int rowNumber = 0;
var pos = PerfDBCountryTable.Select(country, "ISOCode");
rowNumber = PerfDBCountryTable.Rows.IndexOf(pos);