如何开启DEV ASPxGridView的过滤行中的ComboBox控件右边的过滤行菜单

本文介绍如何在DEVASPxGridView中为ComboBox控件启用过滤行菜单,包括前后端设置方法。通过设置ColumnFilterMode为DisplayText并初始化ComboBox属性,实现ComboBox控件过滤功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何开启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" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值