C# 如何按单元格值从tableadapter获取行索引?
我想学习按单元格值的行索引。我知道单元格值“E003”。我如何学习行索引,该行包含单元格值“E003”?我需要7点而不是11点C# 如何按单元格值从tableadapter获取行索引?,c#,wpf,C#,Wpf,我想学习按单元格值的行索引。我知道单元格值“E003”。我如何学习行索引,该行包含单元格值“E003”?我需要7点而不是11点 var table =TableAdapter.GetData(); var resultRow = table.Rows["I need row index. But I know just cell value"]; 根据需要,您可以这样查询var table=TableAdapter.GetData() 通过搜索具有给定值的数据表来查找行的索引 下面几行显示了
var table =TableAdapter.GetData();
var resultRow = table.Rows["I need row index. But I know just cell value"];
根据需要,您可以这样查询var table=TableAdapter.GetData()
通过搜索具有给定值的数据表来查找行的索引
下面几行显示了如何通过某行的主键查找该行的索引。首先从DataTable中获取一个值,然后可以使用Find()方法按给定值搜索行
DataRowCollection rowCol = GetDataTable().Rows;
rowCol.Dump("Content for RowCollection: ");
// find row by value of primary key
// for it to work Emp_Code as to be set as primary key column
DataRow foundRow = rowCol.Find("E003");
int indexOfRow = rowCol.IndexOf(foundRow);
indexOfRow.Dump("zero based RowIndex is: ");
底层数据看起来与您的屏幕截图相似
private DataTable GetDataTable()
{
DataTable table = new DataTable("NameIsOptional");
table.Columns.Add(new DataColumn("Emp_Id", typeof(int)));
table.Columns.Add(new DataColumn("Emp_Code", typeof(string)));
table.Columns.Add(new DataColumn("L_Name", typeof(string)));
// set Column 'Emp_Code' as primary key column
table.PrimaryKey = new DataColumn[] {table.Columns["Emp_Code"]};
table.Rows.Add(1, "E001", "dave");
table.Rows.Add(2, "E002", "mandle");
table.Rows.Add(3, "E007", "sarana");
table.Rows.Add(4, "E004", "poyekar");
table.Rows.Add(5, "E005", "suryawanshi");
table.Rows.Add(9, "E006", "survey");
table.Rows.Add(11, "E003", "singh");
return table;
}
由于您对列Emp_code
很少提及,因此我假设它可以用作数据表的主键
linqpad演示程序的屏幕截图
下面您可以看到上面在linqpad中执行的代码
如果您不能使用
Emp\u code
作为主键,您可以在问题中找到所需的信息我今天发现了这样一个孤岛
var table = TableAdapter.GetData().Select(s => new { s.Index })
.AsEnumerable()
.Select((s, counter) => new
{
s.Index,
counter = counter + 1
});
foreach (var item in table)
{
if (item.Index == Emp_ID)
{
//do something
break;
}
}
我理解如下:
var table=TableAdapter.GetData()
返回一个dataTable。返回一个数据行数组。Select()
的参数看起来像是一个s=>new{s.Index}
,尽管这个lambda中的new
让我感到困惑,我无法弄清楚lambda表达式s=>new{s.Index}
是什么类型,或者它是做什么的。在Linqpad中尝试代码会返回错误。你能解释一下你的答案如何与你的问题相吻合,以获得Datagrid的rowIndex吗?