フォームにDataGridView
の空白の行を押すたびにプログラムが停止します。エラーは言う:DataGridviewでInvalidCastExceptionが処理されていません
InvalidCastException was unhandled.
これは、エラーが起こっているコードの一部です:
private void dataGridView1_Click(object sender, EventArgs e)
{
id = Convert.ToInt32(dataGridView1.SelectedCells[0].Value); //This is the line with the error
textBox1.Text = dataGridView1.SelectedCells[1].Value.ToString();
textBox2.Text = dataGridView1.SelectedCells[2].Value.ToString();
textBox3.Text = dataGridView1.SelectedCells[3].Value.ToString();
textBox4.Text = dataGridView1.SelectedCells[4].Value.ToString();
}
あなたはDataGridViewのをクリックしたときにアプリケーションを起動したりするときに発生する問題ですか?これは、セルが数値ではなく、ヌルであり、選択された行がないためです。ヌルの場合、大文字小文字を処理するために "int?id"を試すことができます。また、フォームの構築中にメソッドに入ることがあり、datatGridView1.Rows.Count <= 0のときはクリックを無視する必要があります。 – jdweng
'DataGridView'の空行をクリックするたびにエラーが表示されます。おそらく最後の行です。 'id'変数には' int'データ型があります。 @jdweng – StarBoy
私が言ったように、変数型intを作ることができますか? Convert.ToInt32はエラーを出さない、またはdoe dataGridView1.SelectedCells == null、またはdataGridView1.SelectedCells [0] == null – jdweng