Dev GridControl 里面实现指定单元格 转化成 按钮控件

 

     在项目中开发中遇到一个需求, 需要把指定的数据表格列 转化为按钮列~ 用的控件是Dev  gridcontrol

 刚开始 在项目通过直接设置属性, 把指定列设计成了按钮列.   :

 

把列的ColumnEdit属性设置为RepositoryItemButtonEdit 
把TextEditStyle属性设置为HideTextEditor; 
把Buttons的Kind属性设置为Glyph;把Button的Caption用于设置文字

实现了效果如图所示.

 

 

但是如果要实现,根据需要 某些行 显示按钮,某些行不显示按钮, 用这种方法,就不行.

 

这个时候就需要在 gridView_CustomRowCellEdit (object sender, CustomRowCellEditEventArgs e)

这个事件里面 对具体的某个单元格 ,进行设置了.

可以通过对 e.RepositoryItem 来赋值 来设置它的控件.

 

见如下代码:

 if (e.Column.FieldName != "From") return;
                DevExpress.XtraGrid.Views.Grid.GridView gv = sender as DevExpress.XtraGrid.Views.Grid.GridView;
                string fieldName = gv.GetRowCellValue(e.RowHandle, "From").ToString();

                switch (fieldName)
                {
                    case "Richard Fisher":
                        e.RepositoryItem = repositoryItemButtonEdit1;
                        break;
                    case "Brad Barnes":
                        e.RepositoryItem = repositoryItemButtonEdit1;
                        break;
                    case "Dave Murrel":
                        e.RepositoryItem = repositoryItemButtonEdit1;
                        break;

                }

 

按钮需要响应点击的话还需要设置

在GridControl的设计器中Repository页中的In-place Editor Repository项中 
在右边的Repository栏中找到你的ButtonEdit,选它的事件属性页,ButtonClick

同时需要注意的是: 有时注册了单击事件 但是没反应,是因为设置了Editable 的属性为False!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值