Как мне управлять порядком DataGridViewColumn для пользовательских бизнес-объектов?
-
05-07-2019 - |
Вопрос
Создание пользовательского бизнес-объекта для вставки в DataGridView творит чудеса...за исключением того, что я не могу придумать программный способ установки порядка столбцов.
Должен ли я снова добавлять их один за другим вручную, просто чтобы получить более качественную сортировку, или есть какой-то загадочный скрытый атрибут, который я могу использовать?
Решение
Каждый dataGridViewColumn как свойство DisplayIndex, которое можно применять в любое время и даже работает с AutoGenerateColumns, установленным в значение true.
dataGridView1.Columns["colName"].DisplayIndex = 0;
dataGridView1.Columns["colAnotherColumn"].DisplayIndex = 1;
Другие советы
Я предполагаю, что в настоящее время у вас есть AutoGenerateColumns
установлено значение true
.Единственный известный мне способ контролировать порядок расположения столбцов - это установить AutoGenerateColumns
Для false
и, как вы сказали, вручную добавьте столбцы.
Редактировать:
Я просто заглянул в смутное воспоминание о другом способе сделать это и думаю, что вы, возможно, захотите заглянуть в GridView
контрольные ColumnsGenerator
свойство, которое требует IAutoFieldGenerator
объект.В этом интерфейсе есть один метод, который называется GenerateFields' which takes a
Контроль(the
Сетка) and returns an
ICollection` (набор полей).