- - PR -
VB.NET DataGrid チェックボックスへのチェックを1クリックで行えない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-27 11:56
VB初心者です。
ある列をチェックボックス(Boolean)に設定しているのですが、 データ表示後、最初の1行目は1クリックでチェックが入るのに、 2行目以降は2回クリックしないとチェックが入りません。 これを2行目以降も1クリックでチェックが入るようにするには どういう設定が必要なのでしょうか。 ちなみに、NULL(半透明状態)を不可化するため (値をTrue/Falseだけにするため) Dim csSame As New DataGridBoolColumn csSame.MappingName = "同一" csSame.HeaderText = "同一" csSame.AllowNull = False csSame.NullValue = False という設定を施しています。 どなたかお分かりの方、ぜひとも御教授のほどよろしくお願いいたします。 | ||||
|
投稿日時: 2006-03-27 12:32
「最初の 1 行目」という説明は御幣があると思います。 「選択状態でないと受け付けてくれません」が正しいかと思います。 このままの実装では解決策がないので、根本的に実装を変更することになります。 Paint メソッドで自前で描画して、クリックも Mouse 〜 のイベントで判断することになるでしょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-03-28 19:06
じゃんぬめっとさん、
いつもありがとうございます。 「Paint メソッドで自前で描画」というのは良く分かりませんでしたが、 Private Sub DataGrid1_MouseUp において If DataGrid1.CurrentCell.ColumnNumber = 0 Then If DataGrid1(DataGrid1.CurrentCell.RowNumber, 0) = True Then DataGrid1(DataGrid1.CurrentCell.RowNumber, 0) = False Else DataGrid1(DataGrid1.CurrentCell.RowNumber, 0) = True End If End If としました。 Paintメソッドの使い方が分からないのは心残りですが、 とりあえずヒントを得て、このような形で実装できました。 ありがとうございました。 | ||||
|
投稿日時: 2006-03-28 19:25
Paint メソッドによる実装は、自分で描画する場合の話です。 そのまま DataGridBoolColumn を利用する場合は必要ありません。(*_ _) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1