Слияние клеток в ультрарешетке - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь объединить ячейки в ультрарешетке.

У меня есть этот abc 50 23 abc 50 37 def 50 37

Я хочу abc 50 23 37 def 50 37

his.dgDeviation.DisplayLayout.Bands [0] .Columns ["Price"]. MergedCellEvaluationType = MergedCellEvaluationType.MergeSameText;

his.dgDeviation.DisplayLayout.Bands [0] .Columns [цена].MergedCellEvaluationType = MergedCellEvaluationType.MergeSameText; Это объясняет гораздо больше того, что именно я хочу достичь

1 Ответ

0 голосов
/ 05 июня 2019

У меня есть решение для этого

 public class CustomMergedCellEvaluator :  Infragistics.Win.UltraWinGrid.IMergedCellEvaluator
    {
      public bool ShouldCellsBeMerged(UltraGridRow row1, UltraGridRow row2, UltraGridColumn column)
      {
        // check if the previous column cells are merged.
        return (row1.Cells[column.Index - 1].IsMergedWith(row2.Cells[column.Index - 1]));
      }
    }    

А потом

private void dgDeviation_InitializeLayout(object sender, InitializeLayoutEventArgs e)
    {
      this.dgDeviation.DisplayLayout.Bands[0].Columns["ExcludeName"].MergedCellStyle = MergedCellStyle.Always;
      this.dgDeviation.DisplayLayout.Bands[0].Columns["ExcludeName"].MergedCellEvaluator = new CustomMergedCellEvaluator();
    }

Без пользовательского поведения слияния подумайте / попробуйте, что произойдет со столбцом флажка в сетке, если мы попытаемся объединить его ячейки.

...