Devexpress GridView Merge仅非空单元格

时间:2014-07-14 14:13:13

标签: winforms gridview devexpress

在我的gridview(devexpress)中有一些空单元格和一些非空单元格。合并单元格时,合并空单元格和非空单元格。

但我想只合并非空的单元格。我希望空单元格正常显示(未合并)。 感谢。

   private void gridView2_CellMerge(object sender, CellMergeEventArgs e)
    {
        if (e.Column.FieldName == "Aktivite")
        {
            var value1 = gridView2.GetRowCellValue(e.RowHandle1, e.Column).ToString();
            var value2 = gridView2.GetRowCellValue(e.RowHandle2, e.Column).ToString();


            if (value1 == value2 && (!String.IsNullOrEmpty(value1) && !String.IsNullOrEmpty(value2)))
            {
                e.Merge = true;
                e.Handled = true;
            }
        }
    }

2 个答案:

答案 0 :(得分:0)

我想你忘记了if的其他链条。尝试按如下方式更改代码:

e.Merge = value1 == value2 && (!String.IsNullOrEmpty(value1) && !String.IsNullOrEmpty(value2));
e.Handled = true;

这有帮助吗?

答案 1 :(得分:0)

当单元格不为空时处理事件。但你需要做相反的事情。当单元格为空时,您需要处理事件:

private void gridView2_CellMerge(object sender, CellMergeEventArgs e)
{
    if (e.Column.FieldName == "Aktivite")
    {
        var value1 = gridView2.GetRowCellValue(e.RowHandle1, e.Column).ToString();
        var value2 = gridView2.GetRowCellValue(e.RowHandle2, e.Column).ToString();

        if (String.IsNullOrEmpty(value1) && String.IsNullOrEmpty(value2))
        {
            e.Merge = false;
            e.Handled = true;
        }
    }
}