お世話になっております。
DataGridViewにてリストを作成し、以下のように表示させたいと
考えています。
また、このリストにはチェックボックス、コマンドボタンも搭載
する予定でいます。
名称Å |名称B |項目No |チェック|ボタン
———————————————————————————
|B1 |C1 | |
| |———————————————
A1 | |C2 | |
|—————————————————————
|B2 |C1 | |
———————————————————————————
|B1 |C1 | |
|—————————————————————
A2 |B2 |C2 | |
|—————————————————————
|B3 |C3 | |
———————————————————————————
セルのマージはMSFlexGridでは可能だったのですが、DataGridView
の標準機能にはないということでした。
過去の記事を見る限りでは、「CellPaintingイベント」を用いて、
マージされているように見せることは可能のようですが、具体的に
どのようにプログラムを組んだらよいかわからず、途方にくれています。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200704/07040004.txt
逆に、上記の条件で他のコントロールを利用して動作させることは
可能なのでしょうか?
(以前はMSFlexGridにボタンとチェックボックスをBMPで貼り付け、
見せかけ押下で処理していました。)
ご教授よろしくお願いします。
> どのようにプログラムを組んだらよいかわからず、途方にくれています。
CellPainting イベント(または OnCellPainting メソッド)を利用する場合、
引数から e.Graphics を得て、これに対して「描画」する形になります。
そこで枠線を描画しなければ、マージされているように見えますし、
隣のセルまではみ出して描画すれば、セル間の中央揃えなどもできます。
(.NETのグラフィック描画機能に関する基礎知識が必要です)
検索してみると、このようなサンプルなどもありますね。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=474035&SiteID=7
> 他のコントロールを利用して動作させることは可能なのでしょうか?
いっそ、市販のコントロールを購入してしまうのも手かと。
マージの件とは関係ありませんが、以下、参考までに。
★DataGridView の基本的な使い方★
[10 行でズバリ !! 複合 Grid の作成 (VB)]
http://www.microsoft.com/japan/msdn/thisweek/300x10/Phase3/DataGridView/vb.aspx
★DataGridView のカスタマイズの例★
[DataGridView 列ヘッダー セルのドロップダウン フィルタ一覧を作成する]
http://www.microsoft.com/japan/msdn/net/winforms/dtgrdvwaf.aspx
[Windows フォーム DataGridView コントロールのカスタマイズ]
http://msdn2.microsoft.com/ja-jp/library/ms171618(VS.80).aspx
[DataGridView へ折りたたみ可能なツリーを実装](英文)
http://blogs.msdn.com/markrideout/archive/2006/01/08/510700.aspx
★DataGridView FAQ★
[DataGridView Control] (Wordファイル:英文)
http://web.archive.org/web/20060503024408/http://www.windowsforms.net/Samples/Go+To+Market/DataGridView/DataGridView+FAQ.doc
ツイート | ![]() |