Как мне управлять порядком DataGridViewColumn для пользовательских бизнес-объектов?

StackOverflow https://stackoverflow.com/questions/1203277

Вопрос

Создание пользовательского бизнес-объекта для вставки в 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` (набор полей).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top