2016-08-08 3 views
0

私は、ユーザーが作業したシフトのデータを入力するDatagridviewを持っています。シフトのために通話料を支払う必要があるかどうかをチェックするチェックボックスがあります。チェックされていない値は「N」で、チェックすると値は「Y」です。これはうまくいく。Datagridviewチェックボックスエラー既定値

しかし、ユーザーがチェックボックスをデフォルトの状態(ロード時)にしておくと、データベースに送信するときに例外が発生します。ユーザーがボックスを変更していない場合でも、どのようにしてデフォルト値を常に "N"にすることができますか?

エラーメッセージ:オブジェクト参照オブジェクトのインスタンスに設定されていません。

+0

多くは制御が設定されているかに依存して、どちらかといえば、DGVをバックアップしているものitem_databoundを宣言する必要があります。一般的に、CheckBoxesは 'True'または' False'の値しか持たないでしょう。あなたは例外が何であるか言及しなかったので、私はそれがDBNullについてだと思います - つまり、あなたが列のデフォルト値を設定しなかったことを意味します。 – Plutonix

+0

オリジナルを編集するエラーメッセージを表示するための質問、私はデフォルト値でそれを設定しました。 –

+0

これは、デフォルト値の問題にはまったく関係していないようです。あなたが参照しているものは何もありません。関連するコードがなければ、それ以上のことは言い難いですが、そのままで、それを見つけて修正する方法について解説しています:[NullReferenceExceptionとは何ですか、どうすれば修正できますか?](http://stackoverflow.com /質問/ 4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it/26761773#26761773) – Plutonix

答えて

0

あなたがDataGrid内のチェックボックスが

 Private Sub dataGrid_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dataGrid.ItemDataBound 

      If (e.Item.ItemType = ListItemType.Item) Or (e.Item.ItemType = ListItemType.AlternatingItem) Then 
       dim checkbox as checkbox = e.item.findControl("yourCheckboxID") 
      end if 
    end sub 
関連する問題