グリッドの使い分けで適切なデータ表現
グリッドの使い分けで開発工数を削減
業務アプリケーションでは、情報の種類や業務内容に応じてさまざまな形で業務データを表現する必要があります。そのため汎用的なグリッドコンポーネントだけでは、特殊な形式の表を作り込む場合などに非常に多くの手間と工数がかかるケースがあります。
Windows フォームアプリケーション開発用のグリッドコンポーネントとして複数のコンポーネントを提供しています。各グリッドコンポーネントはそれぞれ得意な領域が異なるため、用途に合わせた使い分けをすることで、業務アプリケーションの表画面作成の開発コストを大幅に削減できます。
グリッドの使い分けポイント
どのグリッドコンポーネントを使用するかは、作成したい表のデザインが最も重要なポイントです。ここではそれぞれのコンポーネントを使用して作成できる表画面のデザインを中心に、特長的な機能を紹介することで使い分けポイントを説明します。
SPREAD(スプレッド)
SPREADは行列の概念にとらわれずExcelでデザインする感覚で自由な表を作成できます。また、データの階層表示やグループ化といった様々な表現方法を持っているためオールラウンドに活用できます。
データの階層表示
データを特定のセルの範囲に連結
データのグループ化
アウトライン表示
データをチャートや条件付き書式で表示
この他にも以下のようなケースでデータを表示する場合にSPREADが適しています。
Excelファイルにデータを出力/Excelファイルをインポートして表示/関数を利用した表計算/フィルタで抽出してデータを表示
MultiRow(マルチロウ)
MultiRowの大きな特長は、テンプレートとして1レコード分のデータをレイアウトし、それを繰り返し表示できることです。1レコードの要素数が多いデータを限られたスペースに効率的に表示でき、また水平スクロールがいらない画面を作成できます。
1レコードのデータを複数行で表示
行と列では表現できない伝票のような画面
水平方向にデータが展開される表画面
規定の印刷書類のような複雑なレイアウトを画面で実現
この他にもInputManと併用することで入力機能をMultiRowで作成する画面に適用することができます。
CalendarGrid(カレンダーグリッド)
MultiRowが採用しているフリーレイアウトのグリッド設計機能を応用し、カレンダーに特化したデータグリッドコンポーネントがCalendarGridです。
日付と日付に付随したデータを連続したグリッド状の表形式で表現することができます。1日分のデータをレイアウトしカレンダーのレイアウトパターンにあわせて繰り返し表示します。
1ヶ月分のデータをカレンダー形式で一覧表示
1週間分のデータを表示
1ヶ月分のデータを複数列で表示
垂直または水平方向に日付を展開して表示
ガントチャート風の期間を表す図形を表示
この他にも日本のカレンダーに固有の表記(和暦や六曜)を表示できます。
※CalendarGridはMultiRowPlus for Windows Formsに同梱のコンポーネントです。
ComponentOneが提供するデータグリッド
FlexGrid(フレックスグリッド)
ComponentOne(コンポーネントワン)は、複数の.NET Frameworkプラットフォームに対応したコンポーネントを提供するオールインワンのセットです。Windows フォーム用のデータグリッドとして「FlexGrid(フレックスグリッド)」を提供しています。
軽量で高速に動作するデータグリッドです。データ編集やセル結合、集計計算、ソート、検索といったグリッドに求められる基本仕様とそのカスタム化機能を備えています。また、グリッドの編集やグループ化、さらにプレビュー・印刷までをトータルにカバーします。
グループ化、階層、ツリー表示
セルの結合
セルの描画カスタマイズ
Microsoft Excelスタイルのフィルタリング
FlexGridは同様の機能を実現するコンポーネントを複数のプラットフォームで実現できます。ComponentOneで提供する、WPFやUWP、ASP.NET MVCやXamarinなどでグリッド表示が可能です。
また、ComponentOneが提供する他のUIコンポーネントもあわせて利用できます。