フリーソフト > DataGridViewをソフト[DGVPad]で学習&デザインする
のぶ亭『プログラミングの相談窓口』 … 様々なプログラミング問題を個別対応致します |
DataGridViewをソフト[DGVPad]で学習&デザインする
DgvPadとは、DataGridVieweの設定(デザイン)を学習するソフトです。
実際のデータを表示しながら、プロパティ設定による変化をリアルタイムに確認しながら学習できるソフトです。様々なプロパティ設定の組み合わせがリアルタイムで確認できます。
- 体系的に操作できるようにカテゴリ分け
- スタイル設定の構成が図解入り
- オブジェクトのプロパティグリッドによる変更
- 様々なパラメータの組み合わせ確認
- 機能に対応するプロパティ名の記述
- 詳細な動画とマニュアル
オペレーション
初期設定
基本ヘッダ
基本スタイル
スタイル設定の順番は図解でわかりやすくなっています。
振る舞い設定
カスタム
せんぱい。DataGridViewを体系的に教えて く だ さ い ね♡
「DataGridViewについて教えて欲しいですけど...」
いつもなら大きな目を輝かせる萌美ちゃんがやつれた顔をしてやってきた。
「どんなことが知りたいの?」と尋ねると
「一つ一つはネットで調べれば分かるんです。
でも、体系的に考えようとすると混乱しちゃうんです」
たしかに、個々の情報はMSDNライブラリやネットを調べれば分かるよね。
でも、体系的に整理しようとすると結構大変なんだよね。
「プロパティ設定でどこまでできて、どこからプログラムでやるのかも漠然としてしまって・・・」
情報を集めて整理すれば何とかなると思うけど、結構時間が取られちゃうよね。
そうだ、この際だからふたりで整理してみようか。
「お願いします!」と、潤んだ瞳で僕を見つめる萌美ちゃん。
まず、わかりきっていることから始めるよ。
DataGridViewとは何か?
データを表形式(マトリックス)で表示し編集できるコントロールだけど、コントロールのカテゴリはデータに属しているよね。ここがポイントだよ。つまり、データベースと連携するためのコントロールとして提供されているんだ。
「先輩、私はプログラムでデータをセットしていますけど・・・」
そうだね、DataGridViewを普通のコントロールと同じようにプログラムベースで扱うことからはじめる人もいるんだ。実は、僕もそうだったんだ。計測データを表形式に表示するのによく使っていて、そのときはデータを高速周期で更新するようなことに使っていたな。やりたいことができればそれで十分だった。だから、そのときには深追いはしなかったんだ。
「それじゃ先輩は、いつDataGridViewの全貌解明に目覚めたんですか?」
切っ掛けはデータベースとの自動連携かな。これをデータバインディングって言うんだけど、この機能を使うとデータベースのテーブルとDataGridViewの結びつきがVisual StudioのWizardやプロパティ設定だけでほとんどできてしまうんだ。つまりデータベースへの更新処理以外は、じぶんでプログラムを書く必要がないということに衝撃を受けたんだ。これが切っ掛けでまとめてみようと思うようになった気がするよ。
―知らないと損をする―
知らないと損をする=遠回りをする、無駄なものを作ってしまう
この考えは、ライブラリを使う上での基本中の基本だよね。
何ができるのか、どこまでできるのか、どこからカストマイズしなければならないのか。
これらを知るためには、全体像を意識しながらいろんな視点で試してみるしかないよね。体系的な説明がないのだから、一つ一つを試しながら―じぶんで―体系化するしかない。でも、結構手間がかかるから、目先の問題解決ができれば終わり。こんな繰り返しだと多少知識は増えるけどモヤモヤはなくならない。
―繰り返し使える実験プログラムを作る―
DataGridViewのプロパティ設定が、実際どこにどう影響するのかはプログラムを書いて確認しなければならないよね。
「そうなんです。私いつもやってます。これかなと思うプロパティの値を変えたり列挙値を一つ一つ変えて試したりするんです。でも、あるときはうまくいくのに、時々期待通りにならないときもあります。そのときはネットで探してコードを利用して何とか使えるようにするんですけど・・・」
そのときのプログラムや結果はどうしているの?
「えっと、期待通りの方法になればいいので、途中のプログラムは残していません。結果は頭の中です」
普通そうだよね。でも、この方法だとDataGridViewの全貌を理解するのはとても難しくなるので、違う発想で実験プログラムを考えてみたんだ。
Visual Studioのデザイナは、列名は表示してくれるけどデータは表示してくれない。
だから、プロパティ値による変化はデータを表示してみるまで分からない。
それなら、「任意のデータの設定」と「リアルタイムな設定確認」ができるプログラムを作ればいいじゃないかってね。
それで作ったのがこの「DgvPad」なんだ。
プロパティは、試行錯誤しながらカテゴリ分け、体系化しているから、萌美ちゃんにもすぐに理解してもらえると思うし、この実験プログラムのもう一つのメリットは、プロパティ設定の組み合わせも自由に確認ができることなんだ。ベストなプロパティ設定を見つけるためのツールとも言えるね。
「先輩、聞いているだけで欲しくなっちゃいました。く・だ・さ・い!」
そのつもりだよ。未完成なところもあるので萌美ちゃんの意見も聞いてみたいと思っているんだ。それじゃ、DataGridViewの全体像・体系について「DgvPad」の使いながら説明していくよ。
「わくわくしますね」
データをオブジェクト経由でセットする? 直接セットする?
DgvPadを使う前に、DataGridViewにセットするデータの種類とオブジェクトの関係関係を説明しておくよ。
データベースとの自動連携
これをデータバインディングっていうんだけど、これ以外に非バインディングといって、プログラムでデータをセットする機能も用意されているんだ。
DataSourceによる自動データ表示機能
DatasetオブジェクトでデータベースやXMLファイルを読み込んで、DatasetオブジェクトをDataSourceプロパティにセットするだけで自動表示してくれる機能だ。
プログラムによる手動設定
文字通りプログラムで列を定義して、行データを追加していく方法。萌美ちゃんがやっている方法だね。
わかりにくいので図を書いて説明するね。
DataGridViewとデータの関係をまとめるとこんな感じになるかな。
「結構、複雑なんですね」
そうだね。<以下省略・・・>
この続きはのWebマニュアルでご覧ください。