Массив как DataSource DataGrid: как настроить столбцы?

В моей Windows Mobile приложение.NET у меня есть простой массив объекта с данными, которые я хочу отобразить в своем DataGrid. Чтобы сделать это, я просто звоню:

myDataGrid.DataSource = myArray;

Это работает, но у меня есть проблема с ним: это использует все свойства в качестве столбцов и использует названия свойств как заголовки столбцов. Я не могу выяснить, как настроить две вещи:

  • Выберите, какое подмножество свойств должно быть отображено как столбцы (скажите, что у меня есть идентификатор, свойство Name и Value, я только хотел бы показать Имя и Значение);

  • Переименуйте заголовки столбцов, чтобы иметь больше смысла (например, если свойство называют, идентификатор отображают высказывание заголовка столбца "Число").

Действительно ли это возможно вообще?

Как упомянуто это находится в Windows Mobile.NET (версия 2) приложение.

7
задан pbean 12 June 2010 в 12:13
поделиться

2 ответа

Для настройки макета необходимо установить свойство Datagrid.TableStyles.

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagrid.tablestyles.aspx

Подробнее о привязке к массиву объектов здесь: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridtablestyle.mappingname (VS.71) .aspx

Для привязки System.Windows.Forms.DataGrid в строго типизированный массив объектов, объект должен содержать общедоступные свойства. Чтобы создать DataGridTableStyle, который отображает такой массив, установите Свойство MappingName для classname [] где имя класса заменяется на название класса. Также обратите внимание, что Свойство MappingName равно деликатный случай.

1
ответ дан 7 December 2019 в 20:33
поделиться

Не знаю, знаете ли вы заранее названия столбцов? Но если это так, вы можете перейти в «Редактировать столбцы» своего DataGridView и просто создать там свои столбцы. В категории «Данные» измените «DataPropertyName» с «(нет)» на имя свойства класса. Оттуда вы можете настроить имя, если оно отображается, размер и т. Д. DataGrid привяжет его к вашему DataSource.

Кроме того, существует свойство DataGridView.AutoGenerateColumns, для которого можно установить значение false, чтобы не связывать все свойства объекта. Я тоже подумал, что это может помочь.

0
ответ дан 7 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: