开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 5167|回复: 0

如何为ExcelSmart filter弹出窗口指定自定义项目

[复制链接]

0

精华

8

贡献

1768

赞扬

特约版主

帖子
583
软币
4524
在线时间
275 小时
注册时间
2019-2-21
发表于 2020-8-21 09:45:59 | 显示全部楼层 |阅读模式
通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。
遇到的问题
希望将GridColumns切换为使用ColumnFilterPopupMode="ExcelSmart",单元格值可以使用逗号分隔"A, B, C",然后将它们拆分为唯一列表并使用。
[C#] 纯文本查看 复制代码
items.Add(new CustomComboBoxItem
{
DisplayValue = $"{displayElem}",
EditValue = CriteriaOperator.Parse($"Contains([{e.Column.FieldName}], '{elem}')")
});

过滤到包含“ A”等的行,如何使用ExcelSmart列弹出窗口完成此操作?
解决方案:
您可以使用ShowFilterPopup事件为列过滤器弹出窗口自定义唯一值,此事件可用于为ExcelSmart过滤器弹出窗口指定自定义项目,其方式与其他列过滤器类型相同:
[C#] 纯文本查看 复制代码
void TableView_ShowFilterPopup(object sender, DevExpress.Xpf.Grid.FilterPopupEventArgs e) {
var uniqueValues = new[] { "A", "B", "C", "D", "E", "F", "G" };
e.ExcelColumnFilterSettings.FilterItems = 
uniqueValues.Select(x => new CustomComboBoxItem() { 
DisplayValue = x, 
EditValue = new FunctionOperator(FunctionOperatorType.Contains, new OperandProperty("Value"), new OperandValue(x)) })
.Cast<object>().ToList();


DevExpress技术交流群2:775869749      欢迎一起进群讨论


回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-4-20 10:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表