DataGridView 中的 DateTimePicker 值

DateTimePicker value from DataGridView

我有一些文本框和一个日期时间选择器。上面还有一个datagridview。我上传数据到mysqltable。我想通过文本框和日期时间选择器修改数据,但出现错误:

System.ArgumentOutOfRangeException

在 dateTimePicker.Value 行:

private void dataGridView1_SelectionChanged(object sender, EventArgs e) {
  dateTimePicker1.Value = Convert.ToDateTime(dataGridView1.SelectedRows[0].Cells[1].Value);

  idoTextBox.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
  pkcomboBox.Text = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
  minositesbox.Text = dataGridView1.SelectedRows[0].Cells[4].Value.ToString();
  esetextBox.Text = dataGridView1.SelectedRows[0].Cells[5].Value.ToString();
  fotextBox.Text = dataGridView1.SelectedRows[0].Cells[6].Value.ToString();
  megjegyzestextBox.Text = dataGridView1.SelectedRows[0].Cells[7].Value.ToString();
}

我做错了什么?

您得到 ArgumentOutOfRangeException,这意味着您很可能正在尝试访问指定索引处不存在的值。您可能在调用

时正在这样做
dataGridView1.SelectedRows[0].Cells[7].Value.ToString();

您在这里使用的单元格索引为 7,Cells[7] 是否可能不存在?

您可能没有选择 ,只有一个单元格。

确保您设置了正确的 SelectionMode 属性:

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

此外,请确保您选择了行:

if (dataGridView1.SelectedRows.Count > 0) {
  dateTimePicker1.Value = Convert.ToDateTime(dataGridView1.SelectedRows[0].Cells[1].Value);
  // ...
}