はじめに
日本では、限られたスペースに効率的に情報を入力する優れた紙帳票の文化があります。業務システムのユーザーインタフェースにも、使い慣れた紙帳票のレイアウトを求めるユーザーの声は少なくありません。
しかし、.NET Framework標準コンポーネント「GridView」では、Excelのようなシンプルなグリッド機能しか提供しないため、伝票明細のように1レコードを複数行で表したり、列の見出しが入り組んだりする複雑なレイアウトを実現するには、相当なカスタマイズの手間と工数がかかります。
MultiRow for Windows Formsは、セルを好きなように自由に組み込んでグリッドを作成できるとてもユニークなコンポーネントです。このコンポーネントを使えば、入力画面のレイアウトで「セルの結合」などは不要です。基本的なセルのほかにも、ボタン型やDateTimePicker型、NumericUpDown型、ComboBox型などいろいろなタイプのセルを収録しています。
今回は、このMultiRow for Windows Forms 5.0Jを使って、売り上げデータを入力するアプリケーションを作ってみました。
対象読者
Visual Basic/Visual C# 2005/2008を使ってプログラムを作ったことのある人。
必要な環境
Visual Basic 2005/2008、Visual C# 2005/2008、Visual Studio 2005/2008でプログラムが作れる環境。なお、Visual StudioのExpress Editonでは、MultiRowのデザイナは使用できません。
本プログラムはWindows Vista(SP2)上で動作するVisual Studio 2008を使用して作成し、動作確認を行っています。
プログラム実行時の注意事項
MultiRow for Windows Forms 5.0Jを使って作成したアプリケーションを配布する場合、MultiRow for Windows Forms 5.0Jのアセンブリファイルを添付する必要があります。これは、Common Language RuntimeのDLLをアプリケーションと一緒に配布するのと同じです。
本記事のサンプルアプリケーションを正常に動作させるためには、次のファイルをインストールする必要があります。
- 「GrapeCity.Framework.MultiRow.v20.dll」(GrapeCity共通フレームワーク)
- 「.\ja\GrapeCity.Framework.MultiRow.v20.resources.dll」(日本語リソース)
- 「GrapeCity.Win.MultiRow.v50.dll」(グリッドコンポーネント)
- 「.\ja\GrapeCity.Win.MultiRow.v50.resources.dll」(日本語リソース)
これらのファイルを、プログラムを実行するフォルダへ、フォルダ構成を変えずに格納します。.NET Framework 2.0から追加されたクラスやメンバを使用しているので、バージョン2.0以降の.NET Frameworkがインストールされていることが必須条件です。
本稿のサンプルソースは、9月30日発売予定のMultiRow for Windows Forms 6.0Jでも利用可能です。新機能が搭載され、表現力もさらにアップしたバージョン6.0の詳細は、下記を参照ください。
コンポーネントのインストール
はじめてMultiRow for Windows Forms 5.0Jを使用する方は、Visual Studio、Visual Basic、Visual C#の開発環境にMultiRow for Windows Forms 5.0Jをインストールする必要があります。
インストーラは、グレープシティのWebページからダウンロードできます。製品ページの[申込フォーム]をクリックし、グレープシティのWebサイトへ必要情報を登録すると、添付トライアルライセンスキーファイルとダウンロードサイトを記載したE-Mailが送られてくるので、ここからダウンロードします。ファイルはZIP形式で圧縮されており、解凍してインストーラを起動します。
制限事項などの詳細については、インストーラに同梱されているリリースノートを参照ください。
コントロールの追加
MultiRow for Windows Forms 5.0Jをインストールしたら、ツールボックスに専用のタブを作成し、使用するコンポーネントを追加します。追加するコンポーネントは、「.NET Frameworkコントロール」のアセンブリ名が「GrapeCity.Win.MultiRow」で始まるコンポーネント「GcMultiRow」です。
なお、既に同じ「GrapeCity.Win.MultiRow」名前空間のコンポーネントにチェックが付いていますが、これらのコントロールはMultiRowコンポーネントのデザイナで使用するコントロールなので、チェックは外さないでください。