В настоящее время я работаю над проектом, который использует блок DataGridView для отображения результатов поиска данных, извлекаемых из удаленной базы данных MySQL.Ошибка раскраски ячеек DataGridView
Я пытаюсь повторно цвета фона каждой строки на основе значения строки одного из столбцов
Код:
foreach (DataGridViewRow row in this.dgvSearchResults.Rows)
{
if (row.Cells[4].Value.ToString() == "Outbound")
{
row.DefaultCellStyle.BackColor = Color.LightSkyBlue;
}
else if (row.Cells[4].Value.ToString() == "Inbound")
{
row.DefaultCellStyle.BackColor = Color.LightCyan;
}
else
{
row.DefaultCellStyle.BackColor = Color.White;
};
}
Моя ошибка:
Object reference not set to an instance of an object
Я не могу показаться, что это все, любая обратная связь поможет!
какое событие вы делаете это в ..? это событие OnDataBound ..? можете ли вы опубликовать полный метод, в котором находится этот код ..? какая строка бросает ошибку ссылки на объект. Вы прошли через код с помощью отладчика или просто нажали «F5» и пошли ..? – MethodMan
'row.Cells [4] .Value' является' null' ... поместите точку останова и попытайтесь выяснить, почему. Если это нормально, это «null», а затем используйте это, чтобы избежать исключения: 'Convert.ToString (row.Cells [4] .Value) ==" whatever "' –
находится в событии DataBindingComplete, а на скриншоте показана строка что он бросает. – Meta