- PR -

DataGridViewについて

1
投稿者投稿内容
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-04-01 14:33
DataGridViewについて2つ教えて下さい。

いろいろ調べてはみたのですが・・

1点目
DataGridView.DataSource のクリア方法を教えて下さい。
(1回表示させたあと、ボタンをクリックしたら列見出しだけの表示にしたいため)

DataGridView.DataSource = Nothingとすると
列見出しとかデザインで定義していたのが
無視されてしまいます。

1 DataGridView.DataSource = DataTable
2 DataGridView.DataSource = Nothing
3 DataGridView.DataSource = DataTable

とすると3の表示は見出しがデザインで定義した見出しになりません。

2点目
DataGridViewの行の高さの設定を教えて下さい。(低くしたいためです)

解るかたおられましたら

よろしくお願いします。
taku2888
会議室デビュー日: 2008/03/13
投稿数: 6
投稿日時: 2008-04-01 14:53
・行を全て削除してしまうか、Nothing後Refresh

・RowsのHeight
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-04-01 17:04
taku2888さん、ありがとうございます。

早速、試してみました。

Nothing後Refresh でも結果は列見出しは消えてしまいました。

次に行を全て削除してしまうですが
For Each row As DataGridViewRow In DataGridView.Rows
DataGridView.Rows.Remove(row)
Next
としましたが、全行削除されません。

これではだめなのでしょうか?

最後にRowsのHeightは
デザイン時には設定できないのでしょうか?

申し訳ありません、もう少し教えて下さい。


テッテ
ベテラン
会議室デビュー日: 2008/03/16
投稿数: 91
投稿日時: 2008-04-01 18:03
(1)
Nothing を入れるんじゃなくて、データソースを Clear してはどうでしょうか?
あと、未確認ですが AutoGenerateColumns を False に設定して、
自分で列を追加していれば Nothing を入れても列は消えないような気がします。

(2)
デザイナで、既定の行の高さを変更するには、
DataGridView.RowTemplate.Height を変更してください。
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-04-01 20:05
テッテさん、ありがとうございます。

教えて頂いた2点で、なんとか解消できましたが

これは、デザインでのプロパティ設定ではなく
私は最初のForm_Loadイベントに

DataGridView.AutoGenerateColumns = False
DataGridView.RowTemplate.Height = 15
の2行をコーディングしましたが
このような方法をとるのでしょうか?

テッテ
ベテラン
会議室デビュー日: 2008/03/16
投稿数: 91
投稿日時: 2008-04-02 00:00
AutoGenerateColumns はデザイナに表示されないので、それでいいと思います。
RowTemplate もそれでもいいですが、デザイナからも設定できると思います。

RowTemplate プロパティは展開できるようになっていて、
展開したところに Height プロパティがあると思います。
確認してみてください。
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-04-02 16:33
テッテさん、ありがとうございました。

DataGridViewはプロパティが多くて大変です。
taku2888
会議室デビュー日: 2008/03/13
投稿数: 6
投稿日時: 2008-04-07 16:09
> 次に行を全て削除してしまうですが
> For Each row As DataGridViewRow In DataGridView.Rows
> DataGridView.Rows.Remove(row)
> Next
> としましたが、全行削除されません。

このソースでいくと全行削除されなくて正常です。
プログラムは、思った通りには動きません。
作った通りに動きます。
1

スキルアップ/キャリアアップ(JOB@IT)