Procedura: eliminare o nascondere colonne nel controllo DataGrid Windows FormHow to: Delete or Hide Columns in the Windows Forms DataGrid Control

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 uso futuro.The DataGridView control replaces and adds functionality to the DataGrid control; however, the DataGrid control is retained for both backward compatibility and future use, if you choose. Per altre informazioni, vedere Differenze tra i controlli DataGridView e DataGrid Windows Form.For more information, see Differences Between the Windows Forms DataGridView and DataGrid Controls.

Puoi eliminare o nascondere le colonne in Windows Form a livello di programmazione DataGrid controllo utilizzando le proprietà e metodi del GridColumnStylesCollection e DataGridColumnStyle oggetti (che sono membri del DataGridTableStyle classe).You can programmatically delete or hide columns in the Windows Forms DataGrid control by using the properties and methods of the GridColumnStylesCollection and DataGridColumnStyle objects (which are members of the DataGridTableStyle class).

Le colonne eliminate o nascoste ancora presenti nell'origine dei dati, la griglia è associata a e può comunque accedere a livello di codice.The deleted or hidden columns still exist in the data source the grid is bound to, and can still be accessed programmatically. Non sono semplicemente più visibile nel controllo datagrid.They are just no longer visible in the datagrid.

Nota

Se l'applicazione non accedere ad alcune colonne di dati e non si desidera visualizzarli nel controllo datagrid, quindi è probabile che non necessario includerli in primo luogo nell'origine dati.If your application does not access certain columns of data, and you do not want them displayed in the datagrid, then it is probably not necessary to include them in the data source in the first place.

Per eliminare una colonna da DataGrid a livello di codiceTo delete a column from the DataGrid programmatically

  1. Nella sezione delle dichiarazioni del form, dichiarare una nuova istanza di DataGridTableStyle classe.In the declarations area of your form, declare a new instance of the DataGridTableStyle class.

  2. Impostare il DataGridTableStyle.MappingName proprietà alla tabella nell'origine dati che si desidera applicare lo stile.Set the DataGridTableStyle.MappingName property to the table in your data source that you want to apply the style to. L'esempio seguente usa il DataGrid.DataMember proprietà, si presuppone che è già impostato.The following example uses the DataGrid.DataMember property, which it assumes is already set.

  3. Aggiungere il nuovo DataGridTableStyle oggetto alla raccolta di stili di tabella della griglia.Add the new DataGridTableStyle object to the datagrid's table styles collection.

  4. Chiamare il RemoveAt metodo il DataGriddel GridColumnStyles insieme, specificando l'indice della colonna da eliminare.Call the RemoveAt method of the DataGrid's GridColumnStyles collection, specifying the column index of the column to delete.

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

Per nascondere una colonna nel controllo DataGrid a livello di codiceTo hide a column in the DataGrid programmatically

  1. Nella sezione delle dichiarazioni del form, dichiarare una nuova istanza di DataGridTableStyle classe.In the declarations area of your form, declare a new instance of the DataGridTableStyle class.

  2. Impostare il MappingName proprietà del DataGridTableStyle alla tabella nell'origine dati che si desidera applicare lo stile.Set the MappingName property of the DataGridTableStyle to the table in your data source that you want to apply the style to. Nell'esempio di codice viene illustrato come utilizzare il DataGrid.DataMember proprietà, si presuppone che è già impostato.The following code example uses the DataGrid.DataMember property, which it assumes is already set.

  3. Aggiungere il nuovo DataGridTableStyle oggetto alla raccolta di stili di tabella della griglia.Add the new DataGridTableStyle object to the datagrid's table styles collection.

  4. Nascondere la colonna impostando il relativo Width proprietà su 0, che specifica l'indice di colonna della colonna da nascondere.Hide the column by setting its Width property to 0, specifying the column index of the column to hide.

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

Vedere ancheSee Also

Procedura: Modificare i dati visualizzati in fase di esecuzione nel controllo DataGrid Windows FormHow to: Change Displayed Data at Run Time in the Windows Forms DataGrid Control
Procedura: Aggiungere tabelle e colonne al controllo DataGrid Windows FormHow to: Add Tables and Columns to the Windows Forms DataGrid Control