2016-03-21 16 views
0

DataGridから変数への値が得られません。
私は次のコードを試しました。私は構文やコンパイルのエラーを取得していません。しかし、まだコードは動作していません。DataGridviewから値を取得して変数に保存する際の問題

public void get_bnamegv1() 
{ 
    for (int i = 0; i < dataGridView2.Rows.Count; ++i) 
    { 
     string textname = Convert.ToString(dataGridView2.Rows[i].Cells[1].Value); 
     temp_count.Text = textname; 
     } 
} 
+0

ConvertToString()メソッドを削除してみてください。結果はおそらくすでに文字列であり、ConvertToString()を使用すると、おそらくSystem.String型が返されます。 – jdweng

+0

クイックリプレイjdwengに感謝します。しかし、私はConvertToString()を削除するとエラーに直面しています。 –

+0

は、Cell [1]が値を持っていると確信しています。 Cell [1]に値があるかどうかを確認してください。 OR お試しください。 string textname =(文字列)datagridview2.Rows [i] .Cells [1] .Value; –

答えて

0

空の文字列を取得する唯一の理由は、データグリッドビューの列の値がNULLであり、文字列に変換した後に空の文字列になることです。あなたは、あなたがグリッドのセルからNULL値を取得しているSystem.NullReferenceExceptionを取得する場合 あなたは

Convert.ToString(dataGridView2.Rows[i].Cells[1].Value); 

の代わりに

dataGridView2.Rows[i].Cells[1].Value.ToString() 

を試すことができます。

+0

Ankit Bharadwajありがとうございます。しかし、あなたの提案としてコードを変更すると、これは何のエラーになります。 (エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません) –

+0

実行時にブレークポイントを追加してチェックすると、取得した値がポップアップヒントに表示されますが、変数やテキストボックスやラベル。 –

+0

これは私があなたに言ったことですが、この例外が発生した場合、データを取得する方法ではなく、グリッド上のデータに問題があります。だからあなたはあなたの問題のために間違った場所で調査しています。グリッドにデータを追加するコードを調べる必要があります。 dataGridView2.Rows [i] .Cells [1] .Value ?ToString()null値を無視する場合は、 –

関連する問題