2017-03-28 12 views
0

セルを変換しようとしています(ほとんどのセルに情報が取り込まれます)が、この列をデータベースから取得するとNULLになります。 datagridviewには何も表示されません。このセルは、タイプですDateTimeですが、私は何をしたいです: そのセルが、私はN/Aにそれを変更したいが、私は次の2行のコードを入れたときにNULLの場合:DataGridViewCellの型を変更できません

userDataGridView.Rows[i].Cells[column] = new DataGridViewTextBoxCell(); 
userDataGridView.Rows[i].Cells[column].Value = "N/A"; 

して実行し、私が取得実行時エラーが発生しましたCan't assign N/A to DateTime.これを修正するにはどうすればよいですか?

+0

userDataGridViewにはどのようなデータが設定されますか? –

答えて

0

あなたはこのコードを試すことができます。

if (userDataGridView.Rows[i].Cells[column].Value == null || userDataGridView.Rows[i].Cells[column].Value.ToString() == "") 
         { 
          userDataGridView.Rows[i].Cells[column].Value = userDataGridView.Rows[i].Cells[column].Value.ToString().Replace("", "N/A"); 
         } 

これは、セルがnullの場合、N/Aとそれを置き換えるチェックします。しかし、db値がDateTimeであるため、これは適切ではありません。これは、将来適切に変換できないと問題を引き起こします。したがって、dbからnull値を引き出すと、N/Aと表示されますが、dbに格納されると、nullまたは実際のDateTimeに変換されます。

+0

'.ToString()== null'をチェックすることはできません。オブジェクト' .Value'がnullであると仮定すると、これ自体がnull参照例外を引き起こします。ヌルリファレンス '.Value == null'のオブジェクトをチェックする必要があります –

+0

おっと私の悪いです。それを忘れてしまった。ありがとう@MickIlovski。上記のコードを編集する。 –

関連する問題