gpt4 book ai didi

c# - 获取使用 DataTable.Select() 获取的行的旁边的行

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:01 24 4
gpt4 key购买 nike

我有包含下一个数据的 DataTable 对象:

Id Value
1 val1
3 val2
2 val3

我接下来选择一行:

 table.Select("Id=1");

这个查询给了我行

 1 val1

接下来我想获取所选行旁边的行,即行

 3 val2

我能以某种方式做到这一点吗?是否可以?也许有类似行在表格中的位置的东西,我可以通过增加这个值来选择下一行?

最佳答案

DataTable.Rows.IndexOf() 是我唯一能想到的。

如何:

var rows=table.Select("Id=1");
var indexOfRow=table.Rows.IndexOf(rows[0]); //since Id only 1 match

var nextRow=table.Rows[indexOfRow+1];

例子:

    DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof (int));
dt.Columns.Add("AnotherID", typeof(int));
dt.Columns.Add("Content", typeof(string));
dt.PrimaryKey = new[] {dt.Columns["ID"]};

// Add some data
dt.Rows.Add(1, 10, "1");
dt.Rows.Add(2, 11, "2");
dt.Rows.Add(3, 12, "3");
dt.Rows.Add(4, 13, "4");

var index = dt.Rows.IndexOf(dt.Rows.Find(3));

// index is 2

Console.WriteLine(dt.Rows[index+1]);

在Linqpad中输出

DataRow
ID 4
AnotherID 13
Content 4

希望对你有帮助

关于c# - 获取使用 DataTable.Select() 获取的行的旁边的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10121747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com