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


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

Обновлен: Ноябрь 2007

8whd07ax.alert_note(ru-ru,VS.90).gifПримечание.

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

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

Форматирование элемента управления DataGrid состоит из трех основных этапов. Можно настроить свойства для создания стиля отображения данных по умолчанию. На этой основе можно затем изменить способ представления определенных таблиц во время выполнения. Наконец, можно указать столбцы, отображаемые в сетке данных, а также цвета и другие параметры форматирования для них.

На первом этапе форматирования сетки данных можно задать свойства элемента управления DataGrid. Выбранные параметры цветов и форматирования составляют основу, в которую впоследствии можно вносить изменения, исходя из требований к отображению таблиц и столбцов.

Чтобы создать стиль по умолчанию для элемента управления DataGrid

  • Задайте нужным образом следующие свойства:

    Свойство

    Описание

    AlternatingBackColor

    Свойство BackColor определяет цвет четных строк сетки. Если в свойстве AlternatingBackColor задан другой цвет, все остальные строки выделяются этим цветом (строки 1, 3, 5 и так далее).

    BackColor

    Фоновый цвет четных строк сетки (строки 0, 2, 4, 6 и так далее).

    BackgroundColor

    Если свойства BackColor и AlternatingBackColor определяют цвета строк сетки, то свойство BackgroundColor определяет цвет области, незанятой строками, которая видна, только когда сетка прокручена вниз или содержит небольшое количество строк.

    BorderStyle

    Стиль границы сетки — одно из перечисляемых значений свойства BorderStyle.

    CaptionBackColor

    Фоновый цвет заголовка окна сетки, расположенного непосредственно над сеткой.

    CaptionFont

    Шрифт заголовка в верхней части сетки.

    CaptionForeColor

    Фоновый цвет заголовка окна сетки.

    Font

    Шрифт текста в сетке.

    ForeColor

    Цвет шрифта, которым представлены данные в строках сетки.

    GridLineColor

    Цвет линий сетки.

    GridLineStyle

    Стиль линий, разделяющих ячейки сетки — одно из перечисляемых значений свойства DataGridLineStyle.

    HeaderBackColor

    Фоновый цвет заголовков строк и столбцов.

    HeaderFont

    Шрифт заголовков столбцов.

    HeaderForeColor

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

    LinkColor

    Цвет текста всех ссылок в сетке данных, включая ссылки на подчиненные таблицы, имя отношения и так далее.

    ParentRowsBackColor

    Фоновый цвет родительских строк в подчиненной таблице.

    ParentRowsForeColor

    Цвет текста родительских строк в подчиненной таблице.

    ParentRowsLabelStyle

    Определяет, отображаются ли названия таблицы и столбцов в родительской строке с помощью перечисления DataGridParentRowsLabelStyle.

    PreferredColumnWidth

    Стандартная ширина (в точках) столбцов сетки. Установите это свойство, прежде чем сбрасывать свойства DataSource и DataMember (либо отдельно, либо с помощью метода SetDataBinding), иначе свойство не подействует.

    Данное свойство не может иметь отрицательное значение.

    PreferredRowHeight

    Стандартная высота (в точках) строк сетки. Установите это свойство, прежде чем сбрасывать свойства DataSource и DataMember (либо отдельно, либо с помощью метода SetDataBinding), иначе свойство не подействует.

    Данное свойство не может иметь отрицательное значение.

    RowHeaderWidth

    Ширина заголовков строк сетки.

    SelectionBackColor

    Фоновый цвет выделенной строки или ячейки.

    SelectionForeColor

    Цвет текста выделенной строки или ячейки.

    8whd07ax.alert_note(ru-ru,VS.90).gifПримечание.

    При настройке цветов элементов управления следует учесть, что выбор неудачных цветов (например, красный и зеленый) может затруднить работу с элементом управления. Чтобы избежать этого, используйте цвета из палитры Системные цвета.

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

Чтобы задать стили таблицы и столбца таблицы данных программным образом

  1. Создайте новый стиль таблицы и задайте его свойства.

  2. Создайте стиль столбца и задайте его свойства.

  3. Добавьте стиль столбца в коллекцию стилей столбцов стиля таблицы.

  4. Добавьте стиль таблицы в коллекцию стилей таблиц сетки данных.

  5. В следующем примере создайте экземпляр нового DataGridTableStyle и задайте его свойство MappingName.

  6. Создайте новый экземпляр стиля GridColumnStyle и задайте его свойство MappingName, а также некоторые другие свойства отображения и расположения.

  7. Повторите шаги со 2 по 6 для каждого создаваемого стиля столбца.

    В следующем примере проиллюстрировано создание DataGridTextBoxColumn, поскольку в столбце должно отображаться имя. Кроме того, в класс GridColumnStylesCollection стиля таблицы добавляется стиль столбца, а в класс GridTableStylesCollection сетки данных — стиль таблицы.

    Private Sub CreateAuthorFirstNameColumn()
       ' Add a GridTableStyle and set the MappingName 
       ' to the name of the DataTable.
       Dim TSAuthors As New DataGridTableStyle()
       TSAuthors.MappingName = "Authors"
    
       ' Add a GridColumnStyle and set the MappingName 
       ' to the name of a DataColumn in the DataTable. 
       ' Set the HeaderText and Width properties. 
       Dim TCFirstName As New DataGridTextBoxColumn()
       TCFirstName.MappingName = "AV_FName"
       TCFirstName.HeaderText = "First Name"
       TCFirstName.Width = 75
       TSAuthors.GridColumnStyles.Add(TCFirstName)
    
       ' Add the DataGridTableStyle instance to 
       ' the GridTableStylesCollection. 
       myDataGrid.TableStyles.Add(TSAuthors)
    End Sub 
    
    private void addCustomDataTableStyle()
    {
       // Add a GridTableStyle and set the MappingName 
       // to the name of the DataTable.
       DataGridTableStyle TSAuthors = new DataGridTableStyle();
       TSAuthors.MappingName = "Authors";
    
       // Add a GridColumnStyle and set the MappingName 
       // to the name of a DataColumn in the DataTable. 
       // Set the HeaderText and Width properties. 
       DataGridColumnStyle TCFirstName = new DataGridTextBoxColumn();
       TCFirstName.MappingName = " AV_FName";
       TCFirstName.HeaderText = "First Name";
       TCFirstName.Width = 75;
       TSAuthors.GridColumnStyles.Add(TCFirstName);
    
       // Add the DataGridTableStyle instance to 
       // the GridTableStylesCollection. 
       dataGrid1.TableStyles.Add(TSAuthors);
    }
    
    private:
       void addCustomDataTableStyle()
       {
          // Add a GridTableStyle and set the MappingName 
          // to the name of the DataTable.
          DataGridTableStyle^ TSAuthors = new DataGridTableStyle();
          TSAuthors->MappingName = "Authors";
    
          // Add a GridColumnStyle and set the MappingName 
          // to the name of a DataColumn in the DataTable. 
          // Set the HeaderText and Width properties. 
          DataGridColumnStyle^ TCFirstName = gcnew DataGridTextBoxColumn();
          TCFirstName->MappingName = "AV_FName";
          TCFirstName->HeaderText = "First Name";
          TCFirstName->Width = 75;
          TSAuthors->GridColumnStyles->Add(TCFirstName);
    
          // Add the DataGridTableStyle instance to 
          // the GridTableStylesCollection. 
          dataGrid1->TableStyles->Add(TSAuthors);
       }
    

См. также

Задачи

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

Ссылки

GridTableStylesCollection

GridColumnStylesCollection

DataGrid

Другие ресурсы

Элемент управления DataGrid (Windows Forms)