Когда я нажимаю на dataGridView, он говорит, что индекс выходит за пределы диапазона, должен быть неотрицательным и меньше размера коллекции. - PullRequest
0 голосов
/ 20 декабря 2018

вот мой код

private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
    {
        button2.Text = "Update";
        textBox1.Text = dataGridView1.SelectedRows[0].Cells["dgProCode"].Value.ToString();
        textBox2.Text = dataGridView1.SelectedRows[0].Cells["dgProName"].Value.ToString();
        textBox3.Text = dataGridView1.SelectedRows[0].Cells["dgQuantity"].Value.ToString();
        dateTimePicker1.Text = DateTime.Parse(dataGridView1.SelectedRows[0].Cells["dgDate"].Value.ToString()).ToString("dd/MM/yyyy");
        if (dataGridView1.SelectedRows[0].Cells["dgStatus"].Value.ToString() == "Active")
        {
            comboBox1.SelectedIndex = 0;
        }
        else
        {
            comboBox1.SelectedIndex = 1;
        }

    }

1 Ответ

0 голосов
/ 29 декабря 2018

Вы не сначала проверяете, есть ли какие-либо выбранные строки при двойном щелчке.Сначала проверьте, прежде чем ссылаться на первый ...

if (dataGridView1.SelectedRows == null || dataGridView1.SelectedRows.Count == 0)
    return;

button2.Text = "Update";
textBox1.Text = dataGridView1.SelectedRows[0].Cells["dgProCode"].Value.ToString();
textBox2.Text = dataGridView1.SelectedRows[0].Cells["dgProName"].Value.ToString();
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...