Поделиться через


Практическое руководство. Добавление таблиц и столбцов в элемент управления DataGrid в Windows Forms

Замечание

Элемент управления DataGridView заменяет и добавляет функции в элемент управления DataGrid; однако элемент управления DataGrid сохраняется как для обратной совместимости, так и для дальнейшего использования, если вы выберете. Дополнительные сведения см. в разделе Различия между управляющими элементами DataGridView и DataGrid в Windows Forms.

Данные в элементе управления Windows Forms DataGrid можно отобразить в таблицах и столбцах, создав объекты DataGridTableStyle и добавив их в объект GridTableStylesCollection , к которому осуществляется доступ через DataGrid свойство TableStyles элемента управления. Каждый стиль таблицы отображает содержимое любой таблицы данных, указанной в свойстве DataGridTableStyleобъекта MappingName . По умолчанию стиль таблицы без указанных стилей столбцов будет отображать все столбцы в этой таблице данных. Вы можете ограничить, какие столбцы из таблицы отображаются, добавив объекты DataGridColumnStyle в объект GridColumnStylesCollection , к которому осуществляется доступ через свойство GridColumnStyles каждого объекта DataGridTableStyle .

Добавление таблицы и столбца в DataGrid программным способом

  1. Чтобы отобразить данные в таблице, необходимо сначала привязать элемент управления DataGrid к набору данных. Дополнительные сведения см. в статье "Практическое руководство. Привязка элемента управления DataGrid Windows Forms к источнику данных".

    Осторожность

    При программном указании стилей столбцов всегда создавайте объекты DataGridColumnStyle и добавляйте их в объект GridColumnStylesCollection перед добавлением объектов DataGridTableTableStylesCollection в объект GridTableStylesCollection. При добавлении пустого объекта DataGridTableStyle в коллекцию объекты DataGridColumnStyle автоматически создаются для вас. Следовательно, при попытке добавить новые объекты DataGridColumnStyle с повторяющимися значениями MappingName в объект GridColumnStylesCollection будет возникать исключение.

  2. Объявите новый стиль таблицы и задайте имя для его сопоставления.

    Dim ts1 As New DataGridTableStyle()
    ts1.MappingName = "Customers"
    
    DataGridTableStyle ts1 = new DataGridTableStyle();
    ts1.MappingName = "Customers";
    
    DataGridTableStyle* ts1 = new DataGridTableStyle();
    ts1->MappingName = S"Customers";
    
  3. Объявите новый стиль столбца и установите имя для сопоставления и другие свойства.

    Dim myDataCol As New DataGridBoolColumn()
    myDataCol.HeaderText = "My New Column"
    myDataCol.MappingName = "Current"
    
    DataGridBoolColumn myDataCol = new DataGridBoolColumn();
    myDataCol.HeaderText = "My New Column";
    myDataCol.MappingName = "Current";
    
    DataGridBoolColumn^ myDataCol = gcnew DataGridBoolColumn();
    myDataCol->HeaderText = "My New Column";
    myDataCol->MappingName = "Current";
    
  4. Вызовите метод Add объекта GridColumnStylesCollection , чтобы добавить столбец в стиль таблицы.

    ts1.GridColumnStyles.Add(myDataCol)
    
    ts1.GridColumnStyles.Add(myDataCol);
    
    ts1->GridColumnStyles->Add(myDataCol);
    
  5. Вызовите метод Add объекта GridTableStylesCollection , чтобы добавить стиль таблицы в сетку данных.

    DataGrid1.TableStyles.Add(ts1)
    
    dataGrid1.TableStyles.Add(ts1);
    
    dataGrid1->TableStyles->Add(ts1);
    

См. также