Блокировать столбцы в DataGridView - PullRequest
1 голос
/ 13 августа 2010

Снова вопрос ac # Я не могу понять:

В моей форме есть сетевое представление.В режиме разработки Visual Studio я ввожу 4 столбца: ссылка, страна, имя и город.После заполнения поисковой формы я пытаюсь обновить источник данных: пользовательский класс извлекает все данные из выбранной таблицы и заполняет представление данных.Проблема в том, что в datagridview теперь есть все столбцы таблицы, и я хочу, чтобы только 4 столбца были введены в режиме конструктора.

Я могу поставить все остальные столбцы на visible = false в режиме конструктора, и это работает.Но я хочу этот datagridview как пользовательский элемент управления.Поэтому я хочу показать только 4 введенных столбца, не отключая все остальные.Невидимые данные используются для привязки к панели с другими элементами управления, такими как TextBoxes.

Кто-нибудь знает, возможно ли это, и как я должен попытаться решить эту проблему?

Спасибо!

1 Ответ

2 голосов
/ 13 августа 2010

У вас есть три способа скрыть столбцы.

1.- установите свойство visible в значение false (как сказал ksogor) и не создавайте столбцы в режиме конструктора. Обратите внимание, что

GridView1.Columns["ColumnName"].Visible = false;

более читабелен и понятен, чем

GridView1.Columns[1].Visible = false; 

2.- установка AutoGenerateColumns в false и создание столбцов в конструкторе

3.- в вашем классе установите атрибут [Browsable (false)] в полях, которые вы не хотите показывать. Не создавайте столбцы в режиме конструктора.

Третий способ скрывает столбец во всех сетях данных вашего приложения. Я люблю это.

[Browsable(false)]
public string Something{get;set;}
...