Возможно ли иметь два заголовка столбца в представлении Datagrid, используя c # - PullRequest
2 голосов
/ 04 марта 2010

Мне нравится брать текст заголовка столбца и разбивать его на столбцы. Как бы вы это сделали? Я не могу найти "Headercell.Span." Также возможно иметь два заголовка столбца?

Как это

| ФИО | DESC. |

| первый | последний | состояние | возраст |


ДАННЫЕ

Ответы [ 3 ]

1 голос
/ 04 марта 2010

DataGridView не поддерживает это. В конечном итоге вы можете смоделировать заголовок, используя метки и предотвратить расширение столбцов больше ширины метки.

0 голосов
/ 19 декабря 2011

Хорошо, это может быть не самое элегантное из решений (или это вполне может быть, не уверен) ...

  1. Создать панель
    • установите для AutoScroll значение True (этот параметр является ключевым)
  2. Добавить DataGridView на панель
    • убедитесь, что включена только прокрутка по вертикали, в противном случае вы получите две горизонтальные полосы прокрутки
  3. Добавление TableLayoutPanel на панель

Теперь поместите TLP (TableLayoutPanel) в самый верх внутренней части панели. Убедитесь, что есть только одна строка, и добавьте столько столбцов, сколько вам нужно. Вставьте метку в каждый из столбцов, и пока не беспокойтесь о выравнивании.

Теперь поместите DGV (DataGridView) под TLP в Panel и выровняйте столбцы TLP со столбцами DGV (начните с самого правого разделителя столбцов в TLP, затем двигайтесь влево).

Если ваша панель шире DGV и TLP, уменьшите ее до прокрутки появляется панель (это то место, где включается автопрокрутка панели). Вам не нужно бежать программа для просмотра полосы прокрутки.

Попробуйте прокрутить, и вы должны увидеть, что и TLP (и Метки внутри него) и DGV двигаться вместе.

Вот так.

0 голосов
/ 04 марта 2010

Возможно, вы могли бы сделать это, создав поле шаблона.

В шаблоне заголовка создайте заголовок.

В шаблоне элемента просто добавьте операторы <% # Eval ("YourDataItem")%> для каждого элемента данных, который вы хотите включить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...