WPF DevExpress grid 设置自定义筛选栏的条件为包含关系
根据 DevExpress.Xpf.Grid改造
来源:CSDN
原文:https://blog.csdn.net/alisa525/article/details/41910443
DevExpress.Xpf.Grid:
foreach (DevExpress.Xpf.Grid.GridColumn item in this.gridSource.Columns)
{
item.AutoFilterCondition = DevExpress.Xpf.Grid.AutoFilterCondition.Contains;
}
过滤器触发事件;
void gridSource_FilterChanged(object sender, RoutedEventArgs e)
{
var gridcontrol = sender as DevExpress.Xpf.Grid.GridControl;
var str = gridcontrol.FilterString;
string filter = DevExpress.Data.Filtering.CriteriaToWhereClauseHelper.GetOracleWhere(gridcontrol.FilterCriteria); //将 筛选栏 条件转换成 oracle语句
if (filterString == filter) return;
else filterString = filter;
filterString = filterString.Replace("TBBH", "d.TBBH"); //简单解决
InitSource(queryOrg, queryFilter, "");
}
DevExpress.XtraGrid:
gridView1.OptionsView.ShowAutoFilterRow = true; //显示筛选行
gridView1.OptionsCustomization.AllowFilter = true; //是否允许过滤
gridView1.IndicatorWidth = 40; //行标题高度
gridView1.OptionsView.ShowIndicator = true; // 显示行标题
foreach (DevExpress.XtraGrid.Columns.GridColumn item in gridView1.Columns)
{
item.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains; //筛选条件设置为包含
}
private void gridView1_ColumnFilterChanged(object sender, EventArgs e)
{
string filter = gridView1.ActiveFilterString;
}