Devexpress - GridControl 动态禁用按钮

标签: Devexpress  GridContorl  动态禁用按钮

原文:https://www.devexpress.com/Support/Center/Question/Details/A2815/how-to-display-disabled-buttons-for-particular-cells-within-a-buttonedit-column
能打开的,就打开看吧,不然再往看!这里我只用其中的一个方法.

重写方法

//1. 重绘下单元格
 private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            var entity = this.gridView1.GetRow(e.RowHandle) as ddddd;
            if (entity == null) return;
            if (entity.AA == "1")
            {
                var cellinfo = e.Cell;
            }
            if(e.Column.FieldName== "editedit")
            {
                ButtonEditViewInfo buttonEditViewInfo = (ButtonEditViewInfo)((GridCellInfo)e.Cell).ViewInfo;
                if(entity.AA == "1") //这里是你的逻辑
                {
                    buttonEditViewInfo.RightButtons[0].State = DevExpress.Utils.Drawing.ObjectState.Normal;
                }
                else
                {
                    buttonEditViewInfo.RightButtons[0].State = DevExpress.Utils.Drawing.ObjectState.Disabled;
                }
            }

        }

//2。重绘下控件显示时的状态。
 private void gridView1_ShownEditor(object sender, EventArgs e)
        {
            var entity = this.gridView1.GetFocusedRow() as ddddd;
            BaseEdit edit = (sender as DevExpress.XtraGrid.Views.Base.BaseView).ActiveEditor;
            if (edit is ButtonEdit && entity.AA != "1")
            {
                (edit as DevExpress.XtraEditors.ButtonEdit).Properties.Buttons[0].Enabled = false;
            }
        }

效果图

这里写图片描述

附件:
https://download.csdn.net/download/icfhtg/10322728

版权声明:本文为icfhtg原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/icfhtg/article/details/79790710

智能推荐

C# devExpress GridControl 行中行 子行 多级行

在工作中经常会碰到需要做行中行,多级行的情况,不熟的情况下,我也只能试着实现. 命名空间 实现代码 一下实现的也只是一个demo,大家不要拘泥于数据 实现效果如下:...

DevExpress学习系列(控件篇):GridControl的基本应用

一般属性设置 不显示分组框:Gridview->Option View->Show Group Panel=false 单元格不可编辑:gridcontrol -->gridview -->OptionsBehavior -->Editable=false 禁用过滤器:Run Design->OptionsCustomization->AllowFilte...

DevExpress控件LookUpEdit、GridControl、RibbonControl的使用总结

本篇文章主要介绍Dev Express控件LookUpEdit、GridControl、RibbonControl工具栏等的使用。并记录了如何在GridControl中的GridView添加右键菜单,以及如何实现菜单选择事件。 1.LookUpEdit 实现下拉框 (1)绑定数据源: (2)LookUpEdit 实现用户输入   2.GridControl 如下,GridControl中...

Devexpress GridControl自定义Header背景颜色

public static void CustomDrawColumnHeader(GridControl gridControl, GridView gridView) { // Handle this event to paint columns headers manually gridView.CustomDrawColumnHeader += (s, e) => { if (e.C...

DevExpress中GridControl中实现checkbox多行选中

DevExpress中GridControl中实现checkbox多行选中 先看一下效果吧! 11  12  13为我选中的行的主键号 实现以上效果进行批量修改 删除的做法 首先添加一个正常的gridcontrol 绑定数据列 然后插入一个空白列 设置如下 更改一下属性   在我们要绑定的容器中添加一个新列 我用的是DataTable 在DataTable中添加一个新...

猜你喜欢

DevExpress 通过IValueConverter设置GridControl隔行改变颜色

DevExpress功能很强大,通过不断地摸索和学习,掌握了一些小的技巧,分享给大家,通过值转换器设置隔行变色。 首先编写一个Product类,并编写三个属性。 然后实现BackGroundColorConverter类,它继承IValueConverter 最后实现前台代码: 编写一个实现3列的GridControl,我这里已经关掉了一些功能。只实现简单的表格功能。特别强调一些ShowIndic...

Android 炫酷的横向和环形进度条的实例

一、概述 最近需要用进度条,秉着不重复造轮子的原则,上github上搜索了一番,看了几个觉得比较好看的ProgressBar,比如:daimajia的等。简单看了下代码,基本都是继承自View,彻彻底底的自定义了一个进度条。盯着那绚丽滚动条,忽然觉得,为什么要通过View去写一个滚动条,系统已经提供了ProgressBar以及属于它的特性,我们没必要重新去构建一个,但是系统的又比较丑,不同版本变现...

pcap包结构&SNI字段的解析

    pcap文件格式是常用的数据报存储格式,包括wireshark在内的主流抓包软件都可以生成这种格式的数据包。     文件格式:     Pcap文件头(24字节)+数据包头(wireshark增加的)+数据包(网络中抓取的)+…… 1.pcap文件头结构 各字段说明: Magic:4B:0×...

MC9S12XEP100的IIC模块(IICV3)

最近在写DS3231时钟芯片的驱动,这个芯片使用IIC进行通讯,以前没有用过IIC模块,照着教材和示例程序写程序后发现各种问题。没办法,还是官方数据手册靠谱,遂把相应部分又翻译了一遍。果然发现示例程序纯粹就是个玩具,一点用都没有。。。 第15章 集成电路总线(IICV3) 译者注:译者博客(http://blog.csdn.net/lin_strong),转载请保留这条。此为 MC9S12XEP1...

Eureka服务注册与发现

文章目录 二、SpringCLoud中遇到的技术 (一)、Eureka 1、功能: 2、什么是服务治理. 3、什么是服务注册与发现 4、Eureka包含两个组件: Eureka Server和Eureka Client 5、单机Eureka构建步骤 5.1 建model:cloud-eureka-server7001 5.2 写pom 5.3 写yml 5.4 主启动类 5.5 测试 5.6 将消...