水平方向へのデータの展開
GcMultiRowコントロールは、設計時にデータの展開方向を垂直または水平方向のどちらかに指定できます。実行時には指定したデータの展開方向に対して行を繰り返し表示します。
特に 水平方向に行を繰り返し表示する機能は、このGcMultiRowコントロールの大きな特徴で、たとえばMicrosoft Accessなどでは行方向に自動的に入力レコードが追加されていきますが、GcMultiRowコントロールでは「列モード テンプレート」を使用することで、行を列のように表現することが可能になり、列方向に入力レコードを自動的に拡張してくれます。
この機能を使うことで、時系列でデータを展開するようなアプリケーションの開発に最も適しています。
列モード テンプレート
列モードを使用すると、行を左から右に繰り返し表示して使用することができます。ここでは、列モード テンプレートの特徴について説明します。
列モードの設定
列モードを使用するには、Template.LayoutModeプロパティをLeftToRightに設定します。
レイアウト
テンプレートが行モードと列モードの場合では、以下のプロパティとメソッドにて取得または設定する対象が異なります。
プロパティ/メソッド | TopToBottom | LeftToRight |
---|---|---|
Template.Width | 取得時:テンプレートの幅 | 取得時:すべてのセクションの全体の幅 |
設定時:テンプレートの幅 | 設定時:テンプレートの幅 | |
Template.Height | 取得時:すべてのセクションの全体の高さ | 取得時:テンプレートの高さ |
設定時:設定不可 | 設定時:テンプレートの高さ | |
Section.Width | 取得時:テンプレートの幅 | 取得時:セクションの幅 |
設定時:セクションの幅 | 設定時:セクションの幅 | |
Section.Height | 取得時:セクションの高さ | 取得時:テンプレートの高さ |
設定時:セクションの高さ | 設定時:テンプレートの高さ | |
GcMultiRow.SectionWidth | 取得時:テンプレートの幅 | 取得時:すべてのセクションの全体の幅 |
GcMultiRow.SectionHeight | 取得時:すべてのセクションの全体の高さ | 取得時:テンプレートの高さ |
RowCollection.GetRowsHeight | 戻り値:指定した行全体の高さ | 戻り値:テンプレートの高さ |
RowCollection.GetRowsWidth | 戻り値:テンプレートの幅 | 戻り値:指定した行の全体の幅 |
SelectionActionsの動作
列モードにおける、主なSelectionActionsの動作は次のようになります。
ソート
列モードでは、グリッドの水平方向のセルに対してソートが行われます。
マージ
列モードでは、グリッドの水平方向のセルに対して自動マージ機能が有効になります。
フィルタ
列モードでは、グリッドの水平方向のセルに対してフィルタが行われます。
現在の行のスタイル
現在の行のスタイルを設定した場合、次のように列に対してスタイルが適用されます。
セルの値をクリップボードにコピー
列モードでは、GcMultiRowコントロールのセルの値をクリップボードにコピーした場合、行と列が表示されている内容とは反転してコピーされます。
テンプレートウィザード
テンプレートウィザードを使うことで、簡単に列モードのテンプレートを作成することができます。
先に説明したデータ連結をプロジェクトに対して行っていれば、データソースのフィールドをセルに設定し自動的に列モードのテンプレートを作成してくれます(詳しくはアプリケーション作成の手順で説明します)。
また、一度作成したテンプレートを列モードに変換したい場合でも、テンプレートのデザイン画面でTemplate.LayoutModeプロパティを使用してデータの展開方向を列方向に変更することができます。
このように、GcMultiRowコントロールはデータの用途に合った形にテンプレートを自由に組み替えることができる特徴を持っています。