FlexGrid で、グリッド内のセルを自動結合できるようにするには、AllowMerging プロパティを None 以外の値に設定します。また、対象となる行または列それぞれの AllowMerging プロパティを true に設定する必要もあります。セルの結合は、隣接するセルに同じ空以外の文字列が含まれる場合にのみ行われます。1 組のセルを強制的に結合する方法はありません。結合は、セルコンテンツに基づいて自動的に行われます。この機能により、ソートされたデータで、隣接する行の値に同じデータが繰り返し表示される場合に、簡単に結合ビューを提供できます。
無制限自動結合は、隣接するセルに同じ値があるという 1 つの条件だけに基づいてセルを結合する機能です。行または列内のセルを自動的に結合するには、C1FlexGrid クラスの AllowMerging プロパティを Free に設定し、対象となる行または列オブジェクトの AllowMerging プロパティを true に設定するだけです。
次のコードは、WinForms FlexGrid の列に無制限結合を適用する方法を示しています。
多くのシナリオでは、上または左方向にあるセルも結合されている場合にのみ、同じ値を持つグリッドセルを結合するようにグリッドを設定します。この動作を制限付き自動結合といい、これを行うには、C1FlexGrid.AllowMerging プロパティを RestrictAll、RestrictRows、または RestrictCols に設定します。さらに、対象となる行または列の AllowMerging プロパティを true に設定する必要があります。
WinForms FlexGrid の列で制限付き自動結合を実行するには、次のコードを使用します。
グリッドやテーブルのヘッダーセルの結合は、特にヘッダーが複数行である場合によく使用されます。ヘッダーセルを結合するには、C1FlexGrid.AllowMerging プロパティを FixedOnly に設定する必要があります。さらに、指定された行および列の AllowMerging プロパティを true に設定する必要があります。次の例では、同じ値を持つヘッダーセルを結合して、外観を簡略化しています。
次のコードは、WinForms FlexGrid のテーブルヘッダーにのみ結合を適用する方法を示しています。
FlexGrid には、AllowMerging 列挙を使用した Custom オプションも用意されています。 この場合は、C1FlexGrid クラスの MergedRanges プロパティを使用して提供されるセル範囲コレクションに対して自動結合が実行されます。カスタム自動結合は、セルコンテンツとは無関係に実行されます。たとえば、次の図では、指定された 2 つのセル範囲が、セルの値が異なるにもかかわらず、結合されています。
次のコードスニペットを使用して、WinForms FlexGrid にカスタム結合を適用できます。