1

我的表单上有两个 GridControl。一个是相当大的数据集,包括一个名为 Score 的列。我希望我的其他 GridControl 显示其中的一个子集(例如,基于 Score 的值的 Top 3 和 Bottom 3)。

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

编辑:我可以grid2.datasource = grid1.datasource从那里开始。表格不会有任何动态更新,所以也许这是要走的路?

4

2 回答 2

1

我会使用以下方法:

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

或者

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

于 2011-06-16T09:49:18.963 回答
1

无需创建新的 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;
      }
}
于 2011-06-16T09:54:13.897 回答