Я использую следующий код, чтобы установить группу DataGridViewRow
элементов невидимыми. Правило, которое я использую, заключается в проверке соответствующего источника данных на наличие логического флага. Если флаг имеет значение true, строка будет отображаться. Если нет, он будет невидимым.
Следующий код работает; тем не менее, это занимает много времени:
CurrencyManager currencyManager = (CurrencyManager)BindingContext[dataGridView.DataSource];
currencyManager.SuspendBinding();
foreach (DataGridViewRow row in dataGridView.Rows)
{
if (!objectList.list[row.Index].Selected)
{
row.Visible = false;
}
}
currencyManager.ResumeBinding();
У кого-нибудь есть лучшее решение? Чем длиннее список объектов, которые мне нужно пройти, тем дольше этот процесс, естественно. Я не могу установить диапазон ячеек, потому что логические значения могут быть не смежными.