Procedura: formattare il controllo DataGrid di Windows Form

Nota

Benché il controllo DataGridView sostituisca il controllo DataGrid aggiungendovi funzionalità, il controllo DataGrid viene mantenuto per compatibilità con le versioni precedenti e per un eventuale utilizzo futuro. Per ulteriori informazioni, vedere Differenze tra i controlli DataGridView e DataGrid di Windows Form.

L'utilizzo di colori diversi per le parti di un controllo DataGrid può contribuire ad agevolare la lettura e l'interpretazione delle informazioni in esso contenute. È possibile applicare i colori alle righe e alle colonne. La visualizzazione delle righe e delle colonne può inoltre essere attivata o disattivata a discrezione dell'utente.

La formattazione del controllo DataGrid è caratterizzata da tre aspetti di base. È possibile impostare proprietà per stabilire uno stile predefinito da utilizzare per la visualizzazione dei dati. A partire da tale base, è quindi possibile personalizzare l'aspetto di alcune tabelle visualizzate in fase di esecuzione. È infine possibile modificare le colonne da visualizzare nella griglia dei dati, nonché i colori e gli altri attributi di formattazione.

Il primo passaggio per la formattazione di una griglia dei dati può prevedere l'impostazione delle proprietà del controllo DataGrid. Le selezioni relative al colore e al formato costituiscono la base di partenza per apportare modifiche sulla base delle tabelle e delle colonne dati visualizzate.

Per stabilire uno stile predefinito per il controllo DataGrid

  • Impostare le seguenti proprietà a seconda dei casi:

    Proprietà

    Descrizione

    AlternatingBackColor

    La proprietà BackColor consente di definire il colore delle righe pari della griglia. Quando si imposta la proprietà AlternatingBackColor su un colore diverso, tutte le righe dispari vengono impostate sul nuovo colore (righe 1, 3, 5 e così via).

    BackColor

    Colore di sfondo delle righe pari della griglia (righe 0, 2, 4, 6 e così via).

    BackgroundColor

    Mentre le proprietà BackColor e AlternatingBackColor determinano il colore delle righe della griglia, la proprietà BackgroundColor consente di stabilire il colore dell'area non occupata da righe, visibile solo quando si scorre la griglia fino alla fine, oppure se la griglia comprende solo poche righe.

    BorderStyle

    Stile del bordo della griglia; uno dei valori di enumerazione di BorderStyle.

    CaptionBackColor

    Colore di sfondo della didascalia della finestra della griglia, visualizzata appena sopra la griglia.

    CaptionFont

    Carattere della didascalia nella parte superiore della griglia.

    CaptionForeColor

    Colore di sfondo della didascalia della finestra della griglia.

    Font

    Carattere utilizzato per visualizzare il testo nella griglia.

    ForeColor

    Colore del carattere utilizzato per la visualizzazione dei dati nelle righe della griglia.

    GridLineColor

    Colore delle linee della griglia dei dati.

    GridLineStyle

    Stile delle linee di separazione delle celle nella griglia; uno dei valori di enumerazione di DataGridLineStyle.

    HeaderBackColor

    Colore di sfondo delle intestazioni di riga e colonna.

    HeaderFont

    Carattere utilizzato per le intestazioni di colonna.

    HeaderForeColor

    Colore di primo piano delle intestazioni di colonna della griglia, compreso il testo dell'intestazione e i segni più/meno (+/-) che consentono di espandere le righe quando vengono visualizzate più tabelle correlate.

    LinkColor

    Colore del testo di tutti i collegamenti presenti nella griglia dei dati, compresi quelli alle tabelle figlio, al nome della relazione e così via.

    ParentRowsBackColor

    Colore di sfondo delle righe padre in una tabella figlio.

    ParentRowsForeColor

    Colore di primo piano delle righe padre in una tabella figlio.

    ParentRowsLabelStyle

    Consente di stabilire se i nomi della tabella e delle colonne vengono visualizzati nella riga padre tramite l'enumerazione DataGridParentRowsLabelStyle.

    PreferredColumnWidth

    Larghezza predefinita (in pixel) delle colonne della griglia. Impostare questa proprietà prima di reimpostare le proprietà DataSource e DataMember (singolarmente o tramite il metodo SetDataBinding). In caso contrario, la proprietà non avrà effetto.

    Specificare un valore superiore a 0.

    PreferredRowHeight

    Altezza predefinita (in pixel) delle righe della griglia. Impostare questa proprietà prima di reimpostare le proprietà DataSource e DataMember (singolarmente o tramite il metodo SetDataBinding). In caso contrario, la proprietà non avrà effetto.

    Specificare un valore superiore a 0.

    RowHeaderWidth

    Larghezza delle intestazioni di riga della griglia.

    SelectionBackColor

    Colore di sfondo quando si seleziona una cella o una riga.

    SelectionForeColor

    Colore di primo piano quando si seleziona una cella o una riga.

    Nota

    Durante la personalizzazione dei colori dei controlli, tenere presente che il controllo potrebbe risultare inaccessibile se il numero di colori disponibili è limitato, ad esempio a rosso e verde. Per ovviare a questo problema, utilizzare i colori disponibili nella tavolozza Colori di sistema.

    Nelle procedure riportate di seguito si presuppone che il form contenga un controllo DataGrid associato a una tabella dati. Per ulteriori informazioni, vedere Associazione del controllo DataGrid Windows Form a un'origine dati.

Per impostare lo stile di tabella e colonne di una tabella dati a livello di codice

  1. Creare un nuovo stile di tabella e impostarne le proprietà.

  2. Creare un nuovo stile di colonna e impostarne le proprietà.

  3. Aggiungere lo stile di colonna all'insieme degli stili di colonna degli stili di tabella.

  4. Aggiungere lo stile di tabella all'insieme degli stili di tabella della griglia.

  5. Nell'esempio riportato di seguito, creare un'istanza di un nuovo DataGridTableStyle e impostare la relativa proprietà MappingName.

  6. Creare una nuova istanza di un controllo GridColumnStyle e impostarne la proprietà MappingName ed eventuali altre proprietà relative al layout e alla visualizzazione.

  7. Ripetere i passaggi da 2 a 6 per ogni stile di colonna da creare.

    Nell'esempio seguente viene illustrata la creazione di un controllo DataGridTextBoxColumn, poiché nella colonna deve essere visualizzato un nome. Viene inoltre aggiunto lo stile di colonna all'insieme GridColumnStylesCollection dello stile di tabella e lo stile di tabella all'insieme GridTableStylesCollection della griglia dei dati.

    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);
       }
    

Vedere anche

Attività

Procedura: eliminare o nascondere colonne nel controllo DataGrid Windows Form

Riferimenti

GridTableStylesCollection

GridColumnStylesCollection

DataGrid

Altre risorse

Controllo DataGrid (Windows Form)