高性能な伝票入力フォームを持った.NETアプリケーションを作る
MultiRow for Windows Forms 5.0Jで伝票明細のようなグリッドを作る
ダウンロード 実行ファイル (763.0 KB)
ダウンロード サンプルソース(C#) (89.8 KB)
ダウンロード サンプルソース(VB) (135.2 KB)
作成したGcMultiRowコンポーネントのデザインをフォームに反映する
ここまで作成したら、GcMultiRowコンポーネントのデザインをフォームに反映させます。
フォームデザイナに切り替え、Visual Studioの[ビルド]-[リビルド]メニューを実行します。すると、ツールボックスに「xxxコンポーネント」というタブが作成され、「Template1」というコンポーネントが作成されます。これをフォームにドラッグ&ドロップします。


次に、GcMultiRowコンポーネントの「Tenplate」プロパティに、この「Template1」を設定します。これで、GcMultiRowコンポーネントのデザインをフォームに反映できます。

以降、デザイナでグリッドのデザインを変更した場合は、Visual Studioの[ビルド]-[リビルド]メニューを実行してください。この操作を行わないと、GcMultiRowコンポーネントのデザインをフォームに反映することができません。
セルのデータを取得する
セルに入力された値を取得するには、GcMultiRowクラスのGetValueメソッドを使用します。メソッドの引数は2つで、データを取り出したい位置のセルの行列番号を指定します。
GetValueメソッドの書式
Public Function GetValue(ByVal rowIndex As Integer, _ ByVal cellIndex As Integer _ ) As Object
public object GetValue(int rowIndex, int cellIndex);
| 引数 | 説明 |
|---|---|
| rowIndex | セルの行インデックス |
| cellIndex | セルの列インデックス |
セルの行番号は最も上の行が「0」になり、列番号はセルを配置した順に自動的に割り振られます。セルの列インデックスを確認するには、デザイナで[テンプレート]-[セルの情報]-[インデックス]をオンにします。

このプログラムでは、「合計金額」に入力された値を取り出し、購入金額の合計をMaskedTextBoxコントロールのDoubleClickイベントハンドラで合計するようにしました。このとき、GcMultiRowクラスのRowCountプロパティで、現在何行のデータが入力されているのかを把握し、その行数分の合計を出すようにしています。
Dim sum As Integer = 0
Private Sub MaskedTextBox2_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox2.DoubleClick
Dim cnt As Integer = 0
Dim i As Integer
cnt = Me.GcMultiRow1.RowCount
For i = 0 To cnt - 1
sum += Convert.ToInt32(Me.GcMultiRow1.GetValue(i, 6))
Next
Me.MaskedTextBox2.Text = Convert.ToString(sum)
End Sub
int sum = 0;
private void maskedTextBox2_DoubleClick(object sender, EventArgs e)
{
int cnt = 0;
int i ;
cnt = gcMultiRow1.RowCount;
for (i = 0; i <= cnt - 1; i++ )
{
sum += Convert.ToInt32(gcMultiRow1.GetValue(i, 6));
}
maskedTextBox2.Text = Convert.ToString(sum);
}
まとめ
このようにMultiRow for Windows Forms 5.0JのGcMultiRowコンポーネントは、単純な行列ではない複雑なレイアウトの表を、簡単に作成できるコンポーネントです。また、豊富なセル型がエンドユーザーの入力を助けてくれるので、ユーザビリティの向上につながります。アプリケーション操作の学習にかかる時間を短縮できるというメリットも生まれます。
今回は、簡単な売り上げデータ入力のアプリケーションを作りました。ページの関係で、MultiRow for Windows Forms 5.0Jのほんのわずかの機能しか紹介できませんでしたが、このアプリケーションを作るのにも大して時間はかからなかったので、グリッドの作り込みやDBデータの表示で苦労されている方々には、大きなメリットを生み出すコンポーネントだと思います。
次回は、もう少しこのアプリケーションの機能を拡張していきたいと思います。
製品情報
- 修正履歴
-
- 2009/10/16 11:47 「必要な環境」を一部追記しました。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- ComponentZine(MultiRow)連載記事一覧
- この記事の著者
-
瀬戸 遥(セト ハルカ)
8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

