【问题标题】:Devexpress GridView Merge Only non-empty cellsDevexpress GridView 仅合并非空单元格
【发布时间】:2014-07-14 14:13:13
【问题描述】:

在我的 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;
            }
        }
    }

【问题讨论】:

    标签: winforms gridview devexpress


    【解决方案1】:

    我认为你忘记了 if 的 else 链。尝试将代码更改如下:

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

    这有帮助吗?

    【讨论】:

      【解决方案2】:

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

      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;
              }
          }
      }
      

      【讨论】:

      • @AhmetAktaş 如Help Center 所述:«请不要对您的问题或回答说“谢谢”添加评论»。
      猜你喜欢
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 2013-04-15
      • 2014-11-22
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多