如何开启DEV ASPxGridView的过滤行中的ComboBox控件右边的过滤行菜单,设置如下:
默认状态下,过滤行中凡是TextBox控件都会开启过滤行菜单,但是ComboBox控件是不会开启过滤行菜单的,想开启ComboBox控件的过滤行菜单,必须设置该列的FilterMode =“DisplayText”,分为前端和后端两种设置方法:前端在列属性中设置:,在后端如下设置:
一、在后台的ASPxGridView1_AutoFilterCellEditorCreate设置
protected void ASPxGridView1_AutoFilterCellEditorCreate(object sender, ASPxGridViewEditorCreateEventArgs e)
{
List<string> ls = new List<string> { "年度", "关联主号牌", "业务备注", "备注说明", "收付", "入库名称", "单位名称", "名称型号", "区分合作", "合作备注", "管理员", "号牌号码", "经手人", "储存位置", "收付分类", "收付", "收付说明", "结算客户", "区分合作", "使用位置", "计量", "票据说明", "票据客户", "有效状态" };
if (ls.Contains(e.Column.FieldName))
{
e.Column.Settings.FilterMode = ColumnFilterMode.DisplayText;
ComboBoxProperties combo = new ComboBoxProperties();
e.EditorProperties = combo;
}
}
二、在后台的ASPxGridView1_AutoFilterCellEditorInitialize设置
protected void ASPxGridView1_AutoFilterCellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e)
{
List<string> ls = new List<string> { "年度", "关联主号牌", "业务备注", "备注说明", "收付", "入库名称", "单位名称", "名称型号", "区分合作", "合作备注", "管理员", "号牌号码", "经手人", "储存位置", "收付分类", "收付", "收付说明", "结算客户", "区分合作", "使用位置", "计量", "票据说明", "票据客户", "有效状态" };
if (ls.Contains(e.Column.FieldName))
{
e.Column.Settings.FilterMode = ColumnFilterMode.DisplayText;
ASPxComboBox combo = e.Editor as ASPxComboBox;
combo.ValueType = typeof(string);
DataTable temp_dt = SqlHelper.ExecuteDataTable("select distinct " + e.Column.FieldName + " from 附加库存", new SqlParameter[] { });
foreach (DataRow dr in temp_dt.Rows)
{
combo.Items.Add(dr[e.Column.FieldName].ToString().Trim());
}
}
}
三、如果默认过滤行关闭,请在后台的 ASPxGridView1_PreRender事件中设置
protected void ASPxGridView1_PreRender(object sender, EventArgs e)
{
ASPxGridView1.Settings.ShowFilterRow = false;
}
四、前端设置:必须开启ShowFilterRow=“True”,才能ComboBox右边的过滤行菜单,如果默认过滤行关闭,请在后台的 ASPxGridView1_PreRender事件中设置 ASPxGridView1.Settings.ShowFilterRow = false
<Settings ShowFilterBar="Visible" ShowFilterRowMenuLikeItem="True" ShowFooter="False" ShowGroupPanel="False" ShowFilterRow="True" ShowFilterRowMenu="True" VerticalScrollableHeight="100" EnableFilterControlPopupMenuScrolling="True" HorizontalScrollBarMode="Auto" VerticalScrollBarMode="Auto" ShowHeaderFilterButton="True" AutoFilterCondition="Equals" />