logo DevExpress WPF使用技巧教程 我也要发布文档

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


下载DevExpress v20.1完整版 DevExpress v20.1汉化资源获取

通过DevExpress WPF Controls,您能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。

遇到的问题

希望将GridColumns切换为使用ColumnFilterPopupMode="ExcelSmart",单元格值可以使用逗号分隔"A, B, C",然后将它们拆分为唯一列表并使用。

items.Add(new CustomComboBoxItem
{
DisplayValue = $"{displayElem}",
EditValue = CriteriaOperator.Parse($"Contains([{e.Column.FieldName}], '{elem}')")
});

过滤到包含“ A”等的行,如何使用ExcelSmart列弹出窗口完成此操作?

解决方案:

您可以使用ShowFilterPopup事件为列过滤器弹出窗口自定义唯一值,此事件可用于为ExcelSmart过滤器弹出窗口指定自定义项目,其方式与其他列过滤器类型相同:

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      欢迎一起进群讨论

40分钟教你入门DevExpress v20.1最新推出控件——甘特图,立即报名>>

慧都高端UI界面开发