Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Devexpress-如何建立Gridcontrol';从另一个GridControl排序/筛选的数据上的s数据?_C#_Devexpress_Gridcontrol - Fatal编程技术网

C# Devexpress-如何建立Gridcontrol';从另一个GridControl排序/筛选的数据上的s数据?

C# Devexpress-如何建立Gridcontrol';从另一个GridControl排序/筛选的数据上的s数据?,c#,devexpress,gridcontrol,C#,Devexpress,Gridcontrol,我的窗体上有两个GridControl。一个是相当大的数据集,包括一个名为Score的列。我希望我的另一个GridControl显示其中的一个子集(例如,基于分数的前3名和后3名) 我如何才能最好地完成这一点?如果它是同一个GridControl,我想我可以使用不同的视图,但是因为它是完全独立的,我应该只获取视图的副本,过滤/排序数据并将其显示为新的数据集吗?或者有没有办法将第二个GridControl的数据链接到第一个GridControl的数据 编辑:我可以做grid2.datasource

我的窗体上有两个GridControl。一个是相当大的数据集,包括一个名为Score的列。我希望我的另一个GridControl显示其中的一个子集(例如,基于分数的前3名和后3名)

我如何才能最好地完成这一点?如果它是同一个GridControl,我想我可以使用不同的视图,但是因为它是完全独立的,我应该只获取视图的副本,过滤/排序数据并将其显示为新的数据集吗?或者有没有办法将第二个GridControl的数据链接到第一个GridControl的数据


编辑:我可以做
grid2.datasource=grid1.datasource
并从那里开始。表将不会有任何动态更新,因此可能这就是解决方法?

我将使用以下方法:

1) 创建一个新的DataView,根据您的方法对其进行过滤,并将第二个gridControl的数据源设置为此DataView


2) 将第二个GridControl的DataSource属性设置为相同的值,并过滤相应的GridView。

无需创建新的DataView。查看gridview的CustomRowFilter事件

使用
e.ListSourceRow
获取数据表中的行

因此,假设您希望显示值大于25的行,而隐藏其余的行

gridView_CustomRowFilter(object sender, RowFilterEventArgs e)
{
      if(dataset.datatable[e.ListSourceRow]["ColumnName"] < 25)
      {  
          e.visible = false;
          e.handled = true;
      }
}
gridView\u自定义行过滤器(对象发送方,行过滤器eventargs e)
{
if(dataset.datatable[e.ListSourceRow][“ColumnName”]<25)
{  
e、 可见=假;
e、 已处理=正确;
}
}

那么基本上您想在另一个网格中显示过滤后的值吗?是的。我可以想出几种不同的方法来实现这一点,我只是不知道Devexpress是否提供了一种内置的方法来有效地实现这一点。是的,它有内置的过滤机制。检查我的答案。这会在两个网格控件之间工作吗?我是否可以将
dataset.datatable
指向原始网格的数据源,并在第二秒内动态完成过滤?这将对“n”个网格控件起作用。这与底层数据源无关。可以将“n”个网格绑定到同一数据源。每个GridControl都有自己的gridView。所以每个gridview都可以独立筛选行。好的,谢谢。所以本质上,这类似于将第二个网格绑定到同一个数据源并独立进行过滤的建议。我将尝试两种建议的方法,并标记我使用的方法,但它们都很好知道!