Фильтрация несвязанного представления данных
У меня есть несвязанный DataGridView
он заполняется путем извлечения атрибутов из выбранных объектов в ArcMap, а также ввода данных пользователем из текстовых полей. У меня есть следующий код ниже, который проходит через DataGridView
и делает строки невидимыми, основываясь на значении комбинированного окна, соответствующего ячейке в столбце.
private void comboBoxName_SelectionChangeCommitted(object sender, EventArgs e)
{
string TextVar;
TextVar = comboBoxName.Text;
checkBoxShowAllRows.Checked = false;
foreach (DataGridViewRow df in this.dataGridList.Rows)
{
if (dataGridList.Rows[df.Index].Cells[5].Value.ToString() == (TextVar))
{
dataGridList.Rows[df.Index].Visible = true;
}
else
{
dataGridList.Rows[df.Index].Visible = false;
}
}
}
Это хорошо работает. Тем не менее, у меня есть столбец даты, который будет заполнен в новой строке, прочитав дату в строке выше и добавив количество дней, которые пользователь помещает в текстовое поле. Моя проблема в том, что даже если я отфильтрую строки с кодом выше, код даты будет по-прежнему смотреть на невидимую строку и использовать эту строку выше. Есть ли способ избежать невидимых строк в моем индексе? Я хочу иметь возможность фильтровать разные значения, но не избавляться от них. Будет ли .Visible
метод фильтрации не является предпочтительным в этом случае?