Devexpress-我如何建立一个Gridcontrol';s来自另一个GridControl的排序/筛选数据上
本文关键字:另一个 GridControl 排序 数据 筛选 何建立 建立 Devexpress- Gridcontrol 一个 | 更新日期: 2023-09-27 17:59:21
我的表单上有两个GridControls。一个是相当大的数据集,包括一个名为Score的列。我希望我的另一个GridControl显示其中的一个子集(例如,基于Score值的Top 3和Bottom 3)。
我怎样才能最好地做到这一点?如果它是同一个GridControl,我想我可以使用不同的视图,但由于它是完全独立的,我应该只获取视图的副本,过滤/排序数据并将其显示为新的数据集吗?或者有没有一种方法可以将我的第二个GridControl的数据链接到我的第一个数据?
编辑:我可以做grid2.datasource = grid1.datasource
,然后从那里开始。表不会有任何动态更新,所以也许这就是前进的方向?
我将使用以下方法:
1) 创建一个新的DataView,根据您的方法对其进行筛选,并将第二个gridControl的DataSource设置为此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;
}
}