グリッドのAllowMerging プロパティをAllに設定して、マージしたいセル範囲をIMergeManagerインタフェースを実装したクラス内に指定して任意のセルをマージできます。
次の例では、2行2列目から5行3列目をマージする方法を示します。
Class MyMergeManager Implements IMergeManager Public Function GetMergedRange(grid As C1FlexGrid, cellType__1 As CellType, rg As CellRange) As CellRange Implements IMergeManager.GetMergedRange ' データセルの結合を対象します ' (行または列ヘッダを結合しない場合) If cellType__1 = CellType.Cell Then If rg.Column >= 1 AndAlso rg.Column <= 2 AndAlso rg.Row >= 1 AndAlso rg.Row <= 4 Then rg.Column = 1 rg.Column2 = 2 rg.Row = 1 rg.Row2 = 4 End If End If ' 完了 Return rg End Function Private Function GetDataDisplay(grid As C1FlexGrid, r As Integer, c As Integer) As String Return grid(r, c).ToString() End Function
class MyMergeManager : IMergeManager { public CellRange GetMergedRange(C1FlexGrid grid, CellType cellType, CellRange rg) { // データセルの結合を対象します // (行または列ヘッダを結合しない場合) if (cellType == CellType.Cell) { if (rg.Column >= 1 && rg.Column <= 2 && rg.Row >= 1 && rg.Row <= 4) { rg.Column = 1; rg.Column2 = 2; rg.Row = 1; rg.Row2 = 4; } } // 完了 return rg; } string GetDataDisplay(C1FlexGrid grid, int r, int c) { return grid[r, c].ToString(); } }
注意: