Практическое руководство. Удаление или сокрытие столбцов элемента управления DataGridView в Windows Forms
Обновлен: Ноябрь 2007
Примечание. |
---|
Элемент управления DataGridView заменяет элемент управления DataGrid и расширяет его функциональные возможности; однако при необходимости элемент управления DataGrid можно сохранить для обратной совместимости и использования в будущем. Дополнительные сведения см. в разделе Различия элементов управления DataGridView и DataGrid в Windows Forms. |
Можно программно удалить или скрыть столбцы в элементе управления Windows Forms DataGrid, используя свойства и методы объектов GridColumnStylesCollection и DataGridColumnStyle (которые являются членами класса DataGridTableStyle).
Удаленные или скрытые столбцы остаются в источнике данных, к которому привязана сетка, и доступ к ним можно получить с помощью программных средств. Эти столбцы не отражаются в элементе управления DataGrid.
Примечание. |
---|
Если в приложении нет доступа к определенным столбцам данных, и их не требуется отображать в элементе управления DataGrid, возможно их не следует включать в источник данных. |
Чтобы удалить столбец из элемента управления DataGrid программным способом, выполните следующие действия:
В области объявлений формы объявите новый экземпляр класса DataGridTableStyle.
Укажите в свойстве DataGridTableStyle.MappingName таблицу из источника данных, к которой требуется применить стиль. Предполагается, что свойство DataGrid.DataMember, используемое в следующем примере, уже задано.
Добавьте новый объект DataGridTableStyle в коллекцию стилей таблиц элемента управления DataGrid.
Вызовите метод RemoveAt коллекции DataGrid's GridColumnStyles, указав индекс столбца, который необходимо удалить.
' Declare a new DataGridTableStyle in the ' declarations area of your form. Dim ts As DataGridTableStyle = New DataGridTableStyle() Sub DeleteColumn() ' Set the DataGridTableStyle.MappingName property ' to the table in the data source to map to. ts.MappingName = DataGrid1.DataMember ' Add it to the datagrid's TableStyles collection DataGrid1.TableStyles.Add(ts) ' Delete the first column (index 0) DataGrid1.TableStyles(0).GridColumnStyles.RemoveAt(0) End Sub
// Declare a new DataGridTableStyle in the // declarations area of your form. DataGridTableStyle ts = new DataGridTableStyle(); private void deleteColumn() { // Set the DataGridTableStyle.MappingName property // to the table in the data source to map to. ts.MappingName = dataGrid1.DataMember; // Add it to the datagrid's TableStyles collection dataGrid1.TableStyles.Add(ts); // Delete the first column (index 0) dataGrid1.TableStyles[0].GridColumnStyles.RemoveAt(0); }
Чтобы скрыть столбец в элементе управления DataGrid программным способом, выполните следующие действия:
В области объявлений формы объявите новый экземпляр класса DataGridTableStyle.
Задайте для свойства MappingName элемента управления DataGridTableStyle таблицу в источнике данных, к которой необходимо применить стиль. Предполагается, что свойство DataGrid.DataMember, используемое в следующем примере кода, уже задано.
Добавьте новый объект DataGridTableStyle в коллекцию стилей таблиц элемента управления DataGrid.
Скройте столбец, присвоив свойству Width значение 0 и указав индекс скрываемого столбца.
' Declare a new DataGridTableStyle in the ' declarations area of your form. Dim ts As DataGridTableStyle = New DataGridTableStyle() Sub HideColumn() ' Set the DataGridTableStyle.MappingName property ' to the table in the data source to map to. ts.MappingName = DataGrid1.DataMember ' Add it to the datagrid's TableStyles collection DataGrid1.TableStyles.Add(ts) ' Hide the first column (index 0) DataGrid1.TableStyles(0).GridColumnStyles(0).Width = 0 End Sub
// Declare a new DataGridTableStyle in the // declarations area of your form. DataGridTableStyle ts = new DataGridTableStyle(); private void hideColumn() { // Set the DataGridTableStyle.MappingName property // to the table in the data source to map to. ts.MappingName = dataGrid1.DataMember; // Add it to the datagrid's TableStyles collection dataGrid1.TableStyles.Add(ts); // Hide the first column (index 0) dataGrid1.TableStyles[0].GridColumnStyles[0].Width = 0; }
См. также
Задачи
Практическое руководство. Добавление таблиц и столбцов в элемент управления DataGrid в Windows Forms