禁用在DevExpress GridView上创建Autofilter

时间:2014-09-09 16:15:52

标签: c# gridview filter devexpress

当我填充数据表时,我接下来

 xtraGrid.dataSource = dataTable;

GridView会自动创建大量过滤器,例如:

 Column Age
 10
 33
 61

当我点击列中的过滤器图标时,我有“10,33,61”。 我认为这个过程不是那么轻量级,而且GridView加载时间更长,是不是真的? 我不需要自动过滤器,你知道我是否可以通过编程方式为所有列禁用自动过滤器? 感谢。

2 个答案:

答案 0 :(得分:1)

foreach ( DevExpress.XtraGrid.Columns.GridColumn item in gridView1.Columns)
        item.OptionsFilter.AllowFilter = false;

网格正在做一百万(cpu密集)的事情,我非常怀疑你甚至会得到1毫秒。
另外,我不认为过滤器"菜单"是使用视图创建的。可能是在您单击图标

时创建的

答案 1 :(得分:1)

根据您的描述,我猜您正在谈论Column's Filter Drop-down功能。过滤器下拉列表使最终用户能够为特定列指定过滤条件 在网格视图中,最终用户可以通过列的过滤器按钮来应用,更改或删除过滤。单击它会调用过滤器下拉列表,该列表默认包含预定义((全部),(自定义),(空白)和(非空白))值以及项目的值。填充下拉列表的项目不会影响网格的加载性能,因此在常见情况下无需删除此功能。
无论如何,您可以通过filter button属性管理GridView级别的GridOptionsCustomization.AllowFilter可用性:

gridView1.OptionsCustomization.AllowFilter = false; 

如果AllowFilter属性的值为true,则可以指定每个列的这些按钮的可见性。所需的列' OptionsColumnFilter.AllowFilter选项应该用于此目的:

column1.OptionsFilter.AllowFilter = false; 

P.S。有关XtraGrid过滤的更多信息,请参阅Filtering Overview主题。