DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DATAGRIDの列(Boolean型)編集可/不可は行ことの設定?

環境/言語:[WIN2000 VB.NET2003]
分類:[.NET]

DATAGRIDの列(Boolean型)編集可/不可は行ことの設定ができますか?

例えば、列AはBoolean型(チェックボックスが表示される)、列Bは数字(1と2しかない)。列Bは1のときだけ、列Aはクリックすることができます。列B=2の対応した列Aはクリックすることができないようにしたいです。
何か方法はありますか?

よろしく。
こんばんわ johnさん

列Bが1の場合、列Aのチェックボックスをオン
列Bが2の場合、列Aのチェックボックスを常にオフと
いうことでよろしければ、以下の方法でいけると思います。

Imports System.Windows.Forms.DataGrid してください

Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown
'マウスが右クリックされたら
If e.Button = MouseButtons.Left And e.Clicks >= 1 Then
' マウスのクリック位置からグリッドのセル取得
Dim hit As HitTestInfo = DataGrid1.HitTest(e.X, e.Y)
'データグリッドのRowヘッダまたは、セルがクリックされたら
If hit.Type = HitTestType.RowHeader Or hit.Type = HitTestType.Cell Then
'グリッドの列Bの内容が2なら
If DataGrid1.Item(hit.Row, 1) = 2 Then
'データグリッドを編集不可とする
DataGrid1.ReadOnly = True
Else
'データグリッドを編集可とする
DataGrid1.ReadOnly = False
End If
End If
End If
End Sub

質問の意味と違っていたらごめんなさい。


■No5792に返信(johnさんの記事)
> DATAGRIDの列(Boolean型)編集可/不可は行ことの設定ができますか?
>
> 例えば、列AはBoolean型(チェックボックスが表示される)、列Bは数字(1と2しかない)。列Bは1のときだけ、列Aはクリックすることができます。列B=2の対応した列Aはクリックすることができないようにしたいです。
> 何か方法はありますか?
>
> よろしく。
LUCIAさん、ありがとうございます。

編集可/不可の設定はできました!

ちなみに、列Aのセルの色設定(列Bの数値対応)はできますか?

よろしく。
解決済み!
> ちなみに、列Aのセルの色設定(列Bの数値対応)はできますか?


DataGrid内の特定のセルの色を変える
http://dobon.net/vb/dotnet/datagrid/coloredcell.html

↑を参照して、セルの色の設定もできました。

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板