質問者
DataGridViewで再表示すると変更不可にならない

質問
-
Visual Basic 2008 にて開発していますがDataGridViewについて質問させて下さい。
DataGridViewのデータ表示は、検索結果をDataTableに格納し、
そのDataTableをDataSourceに設定する方法で行っています。DataGridView内にはチェックボックスがあり、
そのチェックボックスは条件によってReadOnly = Trueにて変更不可にして表示しています。最初の表示は問題なく条件に合えば ReadOnly = Trueにて変更不可になり表示してくれますが、
再表示すると条件に合っているのにReadOnly = Trueが効かず、
チェックボックスが変更可能となって表示してしまいます。ReadOnly=True にする方法は、DataGridView の件数を取得し、
jjCnt = 0
Do Until jjCnt >= ggCnt
If DataGridView1.Rows(jjCnt).Cells(88).Value.ToString() = "1" Then
DataGridView1.Rows(jjCnt).Cells(0).ReadOnly = True
End If
jjCnt = jjCnt + 1
Loopで行っています。
何故、再表示だと変更不可にならないのか解らずご教授願いたく宜しくお願い致します。
すべての返信
-
Hongliang様
返答有難う御座います。
再表示は、言われている様に、DataTableはそのままで、DataGridView.DataSourceに再代入しています。
その直後に、
jjCnt = 0
Do Until jjCnt >= ggCnt
If DataGridView1.Rows(jjCnt).Cells(88).Value.ToString() = "1" Then
DataGridView1.Rows(jjCnt).Cells(0).ReadOnly = True
End If
jjCnt = jjCnt + 1
Loop
してDataGridViewを表示しています。