C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: VB.netでのテーブル作成 セルの結合


(過去ログ 20 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■8484 / inTopicNo.1)  VB.netでのテーブル作成 セルの結合
  
□投稿者/ えりんぎ (1回)-(2007/10/01(Mon) 14:31:03)

分類:[VB.NET/VB2005] 

VB.net初心者です。

WindowsFormでHTMLのようなテーブルを作成し、複数のセルを結合させたいのですが、
セルの結合の方法がわからずにいます。

セルを結合させるにはどうしたらいいのでしょうか?

自分でも調べてはみたのですが、ASP.netでの方法しか見当たらず、困っている状態です。。。


また、テーブル作成にはTableLayoutPanelを使用するやり方がベストなのでしょうか?

ご回答どうかよろしくお願いします。
引用返信 編集キー/
■8488 / inTopicNo.2)  Re[1]: VB.netでのテーブル作成 セルの結合
□投稿者/ 魔界の仮面弁士 (437回)-(2007/10/01(Mon) 14:51:39)
No8484 (えりんぎ さん) に返信
> WindowsFormでHTMLのようなテーブルを作成し、複数のセルを結合させたいのですが、
> セルの結合の方法がわからずにいます。
(中略)
> また、テーブル作成にはTableLayoutPanelを使用するやり方がベストなのでしょうか?

TableLayoutPanel の場合は、デザイン時に、任意のセル上にコントロールを配置すると、そのコントロールに
ColumnSpan / RowSpan プロパティが追加されるので、そこに「2」以上の値を入れてやれば OK です。
コードから指定するなら、SetColumnSpan / SetRowSpan メソッドです。

また、もうひとつの TableLayoutPanel がベストであるか、という質問に関しては、
そのテーブルをどのような目的で使う予定なのかによっても異なりますので、判断できかねます。
引用返信 編集キー/
■8490 / inTopicNo.3)  Re[2]: VB.netでのテーブル作成 セルの結合
□投稿者/ えりんぎ (2回)-(2007/10/01(Mon) 15:14:54)
No8488 (魔界の仮面弁士 さん) に返信
> ■No8484 (えりんぎ さん) に返信
>>WindowsFormでHTMLのようなテーブルを作成し、複数のセルを結合させたいのですが、
>>セルの結合の方法がわからずにいます。
> (中略)
>>また、テーブル作成にはTableLayoutPanelを使用するやり方がベストなのでしょうか?
>
> TableLayoutPanel の場合は、デザイン時に、任意のセル上にコントロールを配置すると、そのコントロールに
> ColumnSpan / RowSpan プロパティが追加されるので、そこに「2」以上の値を入れてやれば OK です。
> コードから指定するなら、SetColumnSpan / SetRowSpan メソッドです。
>
> また、もうひとつの TableLayoutPanel がベストであるか、という質問に関しては、
> そのテーブルをどのような目的で使う予定なのかによっても異なりますので、判断できかねます。


魔界の仮面弁士さん、早い回答ありがとうございます!!

TableLayoutPanelの結合は教えて頂いた方法でできました!

> また、もうひとつの TableLayoutPanel がベストであるか、という質問に関しては、
> そのテーブルをどのような目的で使う予定なのかによっても異なりますので、判断できかねます。

今回Form上でDataGridViewを使用してデータを表示します。
その表示したいHeaderが、2行で部分的に結合したHeader(大カテゴリが上の行あり、下の行に中カテゴリがあるようなかんじです)のため、それをDataGridViewで再現できそうになかったので
HeaderだけTableLayoutPanelで作成しようと思ったのです。
なので形としては2行程度のテーブル形も複雑ではありません。

ただ、今やっていたところ、DataGridViewとTableLayoutPanelの間に隙間が…
この方法はまずかったのでしょうか?
引用返信 編集キー/
■8491 / inTopicNo.4)  Re[3]: VB.netでのテーブル作成 セルの結合
□投稿者/ 魔界の仮面弁士 (438回)-(2007/10/01(Mon) 15:24:39)
No8490 (えりんぎ さん) に返信
> その表示したいHeaderが、2行で部分的に結合したHeader(大カテゴリが上の行あり、下の行に中カテゴリがあるようなかんじです)のため、それをDataGridViewで再現できそうになかったので

CellPainting イベント(または OnCellPainting メソッド)を使って、
ヘッダ部分を自前で描画してやれば、そういった表現も可能です。(ベストかどうかは自己判断で)
http://www.vb-user.net/junk/200704031257/DataGridView.png

実装例。
https://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=474035&SiteID=7


> ただ、今やっていたところ、DataGridViewとTableLayoutPanelの間に隙間が…
Margin プロパティ および Padding プロパティは、幾つに設定してありますか?
引用返信 編集キー/
■8493 / inTopicNo.5)  Re[4]: VB.netでのテーブル作成 セルの結合
□投稿者/ えりんぎ (3回)-(2007/10/01(Mon) 15:55:26)
No8491 (魔界の仮面弁士 さん) に返信
> ■No8490 (えりんぎ さん) に返信
>>その表示したいHeaderが、2行で部分的に結合したHeader(大カテゴリが上の行あり、下の行に中カテゴリがあるようなかんじです)のため、それをDataGridViewで再現できそうになかったので
>
> CellPainting イベント(または OnCellPainting メソッド)を使って、
> ヘッダ部分を自前で描画してやれば、そういった表現も可能です。(ベストかどうかは自己判断で)
> http://www.vb-user.net/junk/200704031257/DataGridView.png
>
> 実装例。
> https://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=474035&SiteID=7
>
>
>>ただ、今やっていたところ、DataGridViewとTableLayoutPanelの間に隙間が…
> Margin プロパティ および Padding プロパティは、幾つに設定してありますか?


魔界の仮面弁士さん、またまたありがとうございます!

自前で描画する方は時間があったら自宅で試してみたいと思います!
参考になるサイトが見つけられずにいたので、本当に助かりました、ありがとうございます。

とりあえず現状はテーブルでHeaderを作成する方法でしのごうと思います。

> Margin プロパティ および Padding プロパティは、幾つに設定してありますか?
確認したところすべて0で設定していました。
DataGridViewの背景色をFormのBackColorと同じに設定したのですが、
TableLayoutPanelとDataGridViewの間にだけグレイの隙間?ができてしまっています…
引用返信 編集キー/
■8511 / inTopicNo.6)  Re[5]: VB.netでのテーブル作成 セルの結合
□投稿者/ えりんぎ (4回)-(2007/10/01(Mon) 21:37:15)
自宅で試したところ、DataGridViewのHeaderに結合したセルを表示することができました!

本当にありがとうございました!!
引用返信 編集キー/
■8512 / inTopicNo.7)  Re[6]: VB.netでのテーブル作成 セルの結合
□投稿者/ えりんぎ (5回)-(2007/10/01(Mon) 21:38:28)
No8511 (えりんぎ さん) に返信
> 自宅で試したところ、DataGridViewのHeaderに結合したセルを表示することができました!
>
> 本当にありがとうございました!!


すみません。解決チェック忘れていました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -