DEV GridView GridControl单元格合并

单元格合并,并且,可以做到,有条件的合并,注意:设置了基偶数行变颜色会让单元格合并事件失效。失效。失效。重要事情说了三遍。分别是:

  

先设置:

之后添加gridView的事件

代码如下:

 private void gv_docargo_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e)
        {

            if (e.Column.FieldName == "客户名称")
            {
                DevExpress.XtraGrid.Views.Grid.GridView gridView = sender as DevExpress.XtraGrid.Views.Grid.GridView;
                if (gridView != null)
                {
                    string value1 = (string)gridView1.GetRowCellValue(e.RowHandle1, e.Column);
                    string value2 = (string)gridView1.GetRowCellValue(e.RowHandle2, e.Column);

                    string value3 = (string)gridView1.GetRowCellValue(e.RowHandle1, col布号);
                    string value4 = (string)gridView1.GetRowCellValue(e.RowHandle2, col布号);
                    //if (value3 == value4)
                    //{
                        e.Merge = value1 == value2 && value3 == value4;
                        e.Handled = true;
                    //}
                }
            }

        }

说明:

指定需要判断的那一列。

需要判断那列的值,的列,e.e.Column

如果没有条件,单单需要 value1 和 value2。    e.Merge = value1 == value2 即可。

但是,我还需要根据某一列内容相同才给合并,就需要添加 value3 和 value4      col布号 是指定某一列

e.Merge = value1 == value2 && value3 == value4; 多个 && 不仅仅,布号相同,还需要内容相同,才合并。

效果:

内容二:注意:合并后的单元格不能修改,要先:关闭合并,之后再开启

this.gridView1.OptionsView.AllowCellMerge = false;

 private void gridView1_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e)
        {
            if (e.Column.FieldName == "品种编号" || e.Column.FieldName == "已安排数量" || e.Column.FieldName == "未安排数量")
            {
                DevExpress.XtraGrid.Views.Grid.GridView gridView = sender as DevExpress.XtraGrid.Views.Grid.GridView;
                if (gridView != null)
                {
                    string value1 = gridView1.GetRowCellValue(e.RowHandle1, e.Column) + "";
                    string value2 = gridView1.GetRowCellValue(e.RowHandle2, e.Column) + "";

                    string value3 = gridView1.GetRowCellValue(e.RowHandle1, col品种编号) + "";
                    string value4 = gridView1.GetRowCellValue(e.RowHandle2, col品种编号) + "";

                    e.Merge = value1 == value2 && value3 == value4;
                    e.Handled = true;
                }
            }
            else if (e.Column.FieldName == "账号名称" || e.Column.FieldName == "操作日期")
            {

                DevExpress.XtraGrid.Views.Grid.GridView gridView = sender as DevExpress.XtraGrid.Views.Grid.GridView;
                if (gridView != null)
                {
                    string value1 = gridView1.GetRowCellValue(e.RowHandle1, e.Column) + "";
                    string value2 = gridView1.GetRowCellValue(e.RowHandle2, e.Column) + "";

                    e.Merge = value1 == value2;
                    e.Handled = true;
                }
            }
            else
            {
                e.Merge = false;
                e.Handled = true;
            }
        }

效果图:

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值