C# 如何查找行号数据表

C# 如何查找行号数据表,c#,C#,我正在开发一个web应用程序,其中我必须在dataTable中找到一行位置。请帮我弄清楚这件事。 下面是windows应用程序代码示例 pos = paesiBindingSource.Find("ISOCode", country); 我在我的webApp中尝试做的就是这里 pos = Convert.ToInt32(PerfDBCountryTable.Select(country, "ISOCode").ToString()); 没有直接属性返回表中DataRow的索引 但您可以使用

我正在开发一个web应用程序,其中我必须在dataTable中找到一行位置。请帮我弄清楚这件事。 下面是windows应用程序代码示例

 pos = paesiBindingSource.Find("ISOCode", country);
我在我的webApp中尝试做的就是这里

pos = Convert.ToInt32(PerfDBCountryTable.Select(country, "ISOCode").ToString());

没有直接属性返回表中DataRow的索引

但您可以使用:

另一种方法是使用Linq到DataTable:


我用linq尝试了解决方案,效果非常好,谢谢
DataRow[] rows = PerfDBCountryTable.Select("Country = " + country, "ISOCode");
if(rows.Length > 0)
{
    int index = PerfDBCountryTable.Rows.IndexOf(rows[0]);
}
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);