misc.log

日常茶飯事とお仕事と

DataGridを編集禁止に

DataGridを編集禁止にする方法については、
http://www.atmarkit.co.jp/fdotnet/dotnettips/108dgallownew/dgallownew.html
に情報があったので適用してみた。問題ないようだ。ソースは下記のとおり。

'メイングリッドのデータソースを設定
'MainGrid.DataSource = DataSet_MessageInfo.MessageTable
MainGrid.SetDataBinding(DataSet_MessageInfo.MessageTable.DefaultView, "")

上記のように、DataSetを直接DataSourceに追加するのではなく、DataTableが持つViewオブジェクトを追加する。さらに、

'編集、新規追加可否を設定する
With DataSet_MessageInfo.MessageTable.DefaultView
    .AllowEdit = False
    .AllowNew = False
    .AllowDelete = False
End With

このように、DefaultViewの編集に関するプロパティをFalseに設定することで、編集を不可能にすることができた。なお、この方法を用いても、カレンシーマネージャで連動させている入力欄からの編集情報は問題なく反映されている。