0

我有一个包含 1000 行的数据表,现在我想将此数据表中的第一个索引和最后一个索引之间的行范围添加到我的数据网格视图中。我该如何做到这一点?

数据表还包含有关我始终希望在 datagridview 中维护的列的信息。

PS:First Index 和 Last Index 是一些整数变量。这是在使用 .net 平台的 c# 中。

4

4 回答 4

1

假设您想使用第 100 到 200 行作为数据源,您可以使用Enumerable.Skip/Take

datagridView1.DataSource = table.AsEnumerable()
                                .Skip(100)
                                .Take(100)
                                .CopyToDatatable();

从 startIndex 到 endIndex Enumerable.Where

datagridView1.DataSource =  table.AsEnumerable()
                                 .Where((r, i) => i >= startIndex && i <= endIndex)
                                 .CopyToDatatable();

记得添加using System.Linq;

于 2012-11-09T09:30:04.970 回答
1

您可以对数据使用过滤器来限制DataGridView. 做一些像

DataTable tmpDt = GetDataTable();
BindingSource source2 = new BindingSource();
source2.DataSource = tmpDt;
source2.Filter = "columnValue < 100 AND columnValue > 200";
dataGridView2.DataSource = source2;

这种方法的优点是过滤器不会破坏您的基础数据。您Filter可以更新显示在DataGridView.

我希望这有帮助。

于 2012-11-09T09:33:57.983 回答
0

谷歌搜索给了我以下准备使用的文章,

如何:将数据绑定到 Windows 窗体 DataGridView 控件 - http://msdn.microsoft.com/en-us/library/fbk67b6z.aspx

http://www.switchonthecode.com/tutorials/csharp-tutorial-binding-a-datagridview-to-a-database

于 2012-11-09T09:30:42.997 回答
0

像这样试试

DataRow[] rw = myDataTable.Select("#" + firstindex+ "# >= FirstIndexCol 
                                     AND SecondIndexCol <= #" + SecondIndex+ "#");
于 2012-11-09T09:34:11.463 回答