Получение ссылки на объект, не заданной на экземпляр объекта.
Я создал метод для автоматического создания поля со списком в моем datagridview, который работает на 100%, теперь история выглядит так.
Я создал таблицу и использовал привязку данных. Я очень хорошо умею извлекать значения в свою Winform и моя таблица выглядит так
Цитата:|ID| дата посещения / имя посетителя | время входа| номер транспортного средства | организация | тип посещения| Причина / тип идентификатора / кого видеть |
Затем я использую этот метод ниже, чтобы создать дополнительный столбец, который отлично работает
private void MeetingSelection() { DataGridViewComboBoxColumn cmn = new DataGridViewComboBoxColumn(); cmn.Items.Add("Please Select"); cmn.Items.Add("Confirm Appointments"); cmn.Items.Add("Reschedule"); dataGridView1.Columns.Add(cmn); cmn.HeaderText = "Action"; cmn.Name = "action"; }
Теперь я хочу, чтобы на него ссылались из другого метода, чтобы я мог использовать его для выбора, добавив, что ячейка 11 - это таблица, в которой находится действие, и она выглядит так:
private void RowsColor() { for (int i = 0; i < dataGridView1.Rows.Count; i++) { string val = dataGridView1.Rows[i].Cells[11].Value.ToString(); if (val == "Confirm Appointments") { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red; MessageBox.Show("Its Red Now!"); } else if (val == "Reschedule") { dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow; MessageBox.Show("Its Yellow Now!"); } } }
Я получаю это исключение, когда пытаюсь заставить его увидеть ячейку из datagridview
System. NullReferenceException: ссылка на объект не установлена на экземпляр объекта.
И он вызывает исключение в этой строке string val = dataGridView1. Rows[i].Клеток[11].Значение.ToString (); теперь я думаю, не заменить ли его строкой val = dataGridView1.Rows[i].Ячейки ["Действие"]. Значение.ToString (); вместо этого?
Что я уже пробовал:
Я пытался сделать что-то вроде этого
string val = dataGridView1.Rows[i].Cells["Action"].Value.ToString();
Karthik_Mahalingam
содержит ли datagridview 12 столбцов ?
Member 12735615
Да, 11 из базы данных, извлеченных datagridview и один, созданный meetingselection () выше
Karthik_Mahalingam
попробуйте это и скажите, что вы получаете
ВАР вал = dataGridView1.Строки[я].Клетки[11];
Member 12735615
пока не показывает ошибку там, но ошибка переместилась в if (val = = "Confirm Appointments").
не может применяться к операндам типа и управления datagridview строку
Karthik_Mahalingam
поставьте точку останова и посмотрите, что вы получаете в val
Member 12735615
дает эту ошибку сейчас
Ошибка CS0019 оператор '= = 'не может быть применен к операндам типа 'DataGridViewCell' и 'string'
Karthik_Mahalingam
приведите DataGridViewCell к DataGridViewComboBoxColumn