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

编程入门 行业动态 更新时间:2024-10-10 15:25:46
本文介绍了使用DataTable.Select()获取行旁边的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我有DataTable对象与下一个数据:

Id值 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 matches var nextRow = table.Rows [indexOfRow + 1];

示例:

code> 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]}; //添加一些数据 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 内容4

希望有助于

I have DataTable object with next data:

Id Value 1 val1 3 val2 2 val3

I'm selecting one row next way:

table.Select("Id=1");

This query gives me row

1 val1

And next I want to take the row next to selected one, i.e. row

3 val2

Can I do this somehow? Is it possible? Maybe there is something like row's position in a table, that I can use to select next row by incrementing this value?

解决方案

DataTable.Rows.IndexOf() is the only thing that I can think of.

How:

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

Example:

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]);

Output in Linqpad

DataRow ID 4 AnotherID 13 Content 4

Hope that helps

更多推荐

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

本文发布于:2023-11-11 05:20:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1577489.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:DataTable   Select

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!