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

如何开启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" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DevExpress 控件的 GridView 中,可以为每一添加 Tooltip 提示信息。可以通过以下步骤实现: 1. 在设计时,打开 GridView 控件的 Columns Designer。 2. 在 Columns Designer 中,选择需要添加 Tooltip 的列,找到 Tooltip 属性。 3. 将 Tooltip 属性设置为一个表达式,例如:`[Column1] + ' ' + [Column2]`。其中,Column1 和 Column2 分别代表需要显示在 Tooltip 中的列的值。 4. 在 GridView 控件的 Events Designer 中找到 `ShowingEditor` 事件,双击打开事件处理程序。 5. 在事件处理程序中,添加以下代码: ```csharp GridView view = sender as GridView; if (view == null) return; GridViewHitInfo hitInfo = view.CalcHitInfo(e.Location); if (hitInfo.InRow && !view.IsGroupRow(hitInfo.RowHandle)) { string tooltipText = view.GetRowCellDisplayText(hitInfo.RowHandle, view.Columns["ColumnName"]); view.SetRowToolTip(tooltipText, hitInfo.RowHandle); } ``` 其中,ColumnName 是需要添加 Tooltip 的列的名称。在 `ShowingEditor` 事件中,当用户鼠标悬停在某一上时,会显示该的 Tooltip 提示信息。这里的 Tooltip 提示信息是通过 `GetRowCellDisplayText` 方法获取的。 另外,如果需要为整个 GridView 添加 Tooltip 提示信息,可以使用 GridView 的 `SuperTip` 属性,代码示例如下: ```csharp gridView1.SuperTip = new DevExpress.Utils.SuperToolTip(); gridView1.SuperTip.Items.Add("tooltip text"); ``` 这样,在鼠标悬停在 GridView 上时,就会显示相应的 Tooltip 提示信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值