1レコード複数列表示のデザイン
GcMultiRowコントロールの特徴の一つに、1レコード複数列表示があります。
複雑なデータを整理して表示したい時、データを複数の列に分けたい時があります。特に日本の帳票ではこの複数列表示を使っている場合が多いですね。GcMultiRowコントロールの複数列表示は、そのような日本の事情に合わせて、とても簡単に1レコード複数列表示を設定することができます。
ここでは、テンプレートのレイアウトを変更し、白血球数の隣に赤血球数を表示します。テンプレートで複数列表示にするので、データはこのレイアウト通りにレコード数分繰り返して表示されます。
(1)ソリューションエクスプローラで「Template1.cs」をダブルクリックします。テンプレートデザイナが起動し、テンプレートが表示されます。
(2)ルーラーをドラッグし、「230」ピクセルまで広げます。
(3)上から2行のヘッダセルを幅一杯までドラッグします。
(4)ツールボックスからHeaderCellを白血球数の横にドラッグアンドドロップします。 そして、プロパティウィンドウでValueプロパティに「赤血球数」と入力します。
(5)もともとあったヘッダ「赤血球数」の横にある「NmericUpDownCell」を、今配置したヘッダセルの横にドラッグします。これで、レコードのフィールドデータは連結したまま、表示を2列に変更できました。
(6)オリジナルのヘッダ「赤血球数」を削除し、その下にある各項目のヘッダセルと数値入力セルを上にずらします。
(7)残りの項目の数値入力セルを幅いっぱいにドラッグしてサイズを合わせます。
(8)最後に、最下部の枠線をドラッグして最下行を消して出来上がりです。
(9)もう一度アプリケーションを実行すると、白血球と赤血球のレコードデータが2列で表示されます。
なお、赤血球数のヘッダセルのスタイルを他のヘッダセルに揃えたい場合は、次の手順でスタイルを変更することもできます。
(1)テンプレートのデザイン画面で赤血球数のHeaderCellをクリックし、選択状態にします。
(2)プロパティウィンドウでFlatStyleプロパティをFlatにします。
(3)HeaderCellのStyleプロパティをNamed Styleにします。
(4)Styleプロパティを展開し、CellStyleNameプロパティの値欄のリストから「HeaderCellStyle1」を選びます。このような操作で、ヘッダセルのスタイルを統一させることができます。
CSV形式のファイルにエクスポートする処理
最後に、フォームのデザインを整え、グリッドデータをCSV形式のファイルにエクスポートする処理を作成します。
今回は、データ全てをCSVファイルに保存します。
この処理はとても簡単で、まずフォームにSaveFileDialogコントロールとButtonコントロールを配置します。そして、ButtonコントロールのClickイベントハンドラで、GcMultiRowコントロールのSaveTextFileメソッドを実行するだけです。
CSV形式で保存できれば、たとえばMicrosoft Excelなどでデータを見ることができます。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim fname As String = "" SaveFileDialog1.Filter = "CSV File|*.csv" If (SaveFileDialog1.ShowDialog()) = Windows.Forms.DialogResult.OK Then fname = SaveFileDialog1.FileName GcMultiRow1.SaveTextFile(fname) End If End Sub
private void button1_Click(object sender, EventArgs e) { String fname = ""; saveFileDialog1.Filter = "CSV File|*.csv"; if(saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { fname = saveFileDialog1.FileName; gcMultiRow1.SaveTextFile(fname); } }
まとめ
GcMultiRowコントロールは、複雑な形式の日本の帳票を作成するアプリケーションにぴったりのコントロールです。今回は取り上げませんでしたが、セルの入力規則や装飾機能、スタイル設定にマージやセル幅の自動調節機能など、帳票をデザインするのに必要な、かつプログラマの労力を補助してくれる多くの優秀な機能を持っています。
そのような中、限られた誌面の中でデータ連結とレコードの水平展開機能、CSVファイルへのエクスポート機能を取り上げて紹介しました。特に時系列データの表示については水平方向にデータを並べたほうがよりわかりやすいデータ表現になりますから、GcMultiRowコントロールの列方向へのデータ展開機能はとても適した機能といえます。また、アプリケーションの作成でも紹介したように、水平方向へのデータ展開がウィザードなどを使って簡単に実装できる点も、開発サイドの負担軽減につながると言えるでしょう。
もし帳票作成アプリケーションの設計にお悩みでしたら、GcMultiRowコントロールをアプリケーションに加えてみてはいかがでしょうか。