Спасибо cfeduke за отличный совет. Я подозревал, что Insert
будет медленнее, но предоставленная ссылка просвещает меня ТОЛЬКО НАМНОГО медленнее.
Это поднимает вопрос о том, как эффективно динамически вставлять и удалять столбцы в DataGridView. Похоже, что идеальным вариантом было бы добавить множество столбцов, используя Add
или AddRange
, а затем никогда их не удалять. Затем вы можете смоделировать удаление, установив для свойства Visible
значение false. И вы можете вставить столбец, взяв невидимый столбец, установив его DisplayIndex
и сделав его видимым.
Тем не менее, я подозреваю, что при таком подходе будут наземные мины, которых следует избегать. Прежде всего, вы больше не можете индексировать свои данные простым способом. То есть m_DGV.Columns[i]
и m_DGV.Rows[n].Cells[i]
не будут отображены должным образом. Я полагаю, вы могли бы создать карту / словарь для поддержки внешнего интуитивного отображения.
Поскольку мое приложение (как оно разработано в настоящее время) требует частой вставки и удаления столбцов, оно может стоить того. У кого-нибудь есть предложения?