2013-07-18 2 views
2

У меня есть winforms, который содержит dataGridView. DatagridView содержит 4 столбца (1 флажок и 3 текста).DataGridView имеет много колоний

Когда я загружаю свою форму, я загружаю данные в список объектов (почти 15 атрибутов).

В моих колонках у меня есть только 3 значения моих объектов, которые должны отображаться, а остальные будут использоваться программно, но не видны для пользователя.

Проблема, когда я добавляю список как DataSource моей GridView, я получил 3 colums, со значениями, которые я хочу, но и 1 colums для каждого из остальных атрибутов ...

Почему появляются другие колмумы, когда я не добавляю их в свой код?

Я не нашел свойство DataGridView, которое предотвратит добавление этих количеств.

ответ

2

набор DataGridView.AutoGenerateColumns для false и связать столбцы вручную путем добавления столбцов и установки свойства

+0

Знаем ли мы, почему это свойство не отображается в режиме разработки (выбор свойств datagridView, затем свойств). Это странно. Я думал, что то, что мы не видим в режиме дизайна, не появится в программном режиме ... –

+0

Я не уверен в своем ответе, но думаю, потому что datagridview может использоваться как связанный и несвязанный режим, поэтому дизайнер только показывает общие свойства, которые могут использоваться в обоих режимах. –

+0

В любом случае, теперь я знаю, что для некоторых свойств я должен делать это в режиме программирования. Спасибо. –

2

Установить AutoGenerateColumns свойство DataGridView в false

Вы можете установить по коду

datagridview.AutoGenerateColumns = false; 
datagridview.DataSource = mydatasource; 

Обновление:

Это свойство просматриваемый в ASP.net Gridview, но не в WinForms в дизайнере

Это происходит потому, что это свойство устанавливается как browsable false

прочитать для получения дополнительной информации: Why DataGridView.AutoGenerateColumns has a Browsable(false) attribute applied?

+0

Я не нашел это: «unchek the box Auto Generate Fields»: Почему это свойство не отображается в режиме разработки (выбирая свойства datagridView, затем свойства), пока он появляется в режиме программирования? –

+0

@ Zaphod Да, помните, что это на asp.net, но проверьте winforms, и вы правы, пожалуйста, проверьте мой обновленный ответ. – Damith

Смежные вопросы