Здравствуйте.
Использую типизированный датасет. На форме есть DataGridView. Записей порядка 53000 (загрузка данных порциями недопустима). Юзер может выбрать произвольные строки в DataGridView (MultiSelect = true) и удалить их.
Вот код отвечающий за удаление:
DataGridViewSelectedRowCollection col = DataGridView1.SelectedRows;
if (col.Count == 0)
{
return;
}
DialogResult result = MessageBox.Show("Удалить записи", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (result != DialogResult.Yes)
{
return;
}
foreach (DataGridViewRow r in col)
{
// BindingSource1 связан с DataGridView1
// Если выделены все записи (строки), выполняется чересчур долго
// 13 секунд на выборке в 2750 записей
BindingSource1.RemoveAt(r.Index);
}
|
В конце концов добивает TableAdapter.Update. Выполняется дольше минуты.
Можно ли каким-то образом повысить производительность?