DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection Class

Definizione

Raccolta di oggetti colonna derivati da DataGridColumn che rappresentano le colonne in un controllo DataGrid.A collection of DataGridColumn-derived column objects that represent the columns in a DataGrid control. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class DataGridColumnCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class DataGridColumnCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type DataGridColumnCollection = class
    interface ICollection
    interface IEnumerable
    interface IStateManager
Public NotInheritable Class DataGridColumnCollection
Implements ICollection, IStateManager
Ereditarietà
DataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollection
Implementazioni

Esempi

Nell'esempio di codice riportato di seguito viene illustrato DataGridColumnCollection come utilizzare la raccolta per aggiungere dinamicamente una DataGrid colonna al controllo.The following code example demonstrates how to use the DataGridColumnCollection collection to dynamically add a column to the DataGrid control. Si noti che Columns la proprietà DataGrid del controllo DataGridColumnCollection è un'istanza della classe.Note that the Columns property of the DataGrid control is an instance of the DataGridColumnCollection class.


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">

      ICollection CreateDataSource() 
      {
      
         // Create sample data for the DataGrid control.
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Define the columns of the table.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
         // Populate the table with sample values.
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;

      }
 
      void Page_Load(Object sender, EventArgs e) 
      {

         // Create a DataGrid control.
         DataGrid ItemsGrid = new DataGrid();

         // Set the properties of the DataGrid.
         ItemsGrid.ID = "ItemsGrid";
         ItemsGrid.BorderColor = System.Drawing.Color.Black;
         ItemsGrid.CellPadding = 3;
         ItemsGrid.AutoGenerateColumns = false;

         // Set the styles for the DataGrid.
         ItemsGrid.HeaderStyle.BackColor = 
             System.Drawing.Color.FromArgb(0x0000aaaa);

         // Create the columns for the DataGrid control. The DataGrid
         // columns are dynamically generated. Therefore, the columns   
         // must be re-created each time the page is refreshed.
         
         // Create and add the columns to the collection.
         ItemsGrid.Columns.Add(CreateBoundColumn("IntegerValue", "Item"));
         ItemsGrid.Columns.Add(
             CreateBoundColumn("StringValue", "Description"));
         ItemsGrid.Columns.Add(
             CreateBoundColumn("CurrencyValue", "Price", "{0:c}", 
             HorizontalAlign.Right));
         ItemsGrid.Columns.Add(
             CreateLinkColumn("http://www.microsoft.com", "_self", 
             "Microsoft", "Related link"));
        
         // Specify the data source and bind it to the control.
         ItemsGrid.DataSource = CreateDataSource();
         ItemsGrid.DataBind();

         // Add the DataGrid control to the Controls collection of 
         // the PlaceHolder control.
         Place.Controls.Add(ItemsGrid);

      }

      BoundColumn CreateBoundColumn(String DataFieldValue, 
          String HeaderTextValue)
      {

         // This version of the CreateBoundColumn method sets only the
         // DataField and HeaderText properties.

         // Create a BoundColumn.
         BoundColumn column = new BoundColumn();

         // Set the properties of the BoundColumn.
         column.DataField = DataFieldValue;
         column.HeaderText = HeaderTextValue;

         return column;

      }

      BoundColumn CreateBoundColumn(String DataFieldValue, 
          String HeaderTextValue, String FormatValue, 
          HorizontalAlign AlignValue)
      {

         // This version of CreateBoundColumn method sets the DataField,
         // HeaderText, and DataFormatString properties. It also sets the 
         // HorizontalAlign property of the ItemStyle property of the column. 

         // Create a BoundColumn using the overloaded CreateBoundColumn method.
         BoundColumn column = CreateBoundColumn(DataFieldValue, HeaderTextValue);

         // Set the properties of the BoundColumn.
         column.DataFormatString = FormatValue;
         column.ItemStyle.HorizontalAlign = AlignValue;

         return column;

      }

      HyperLinkColumn CreateLinkColumn(String NavUrlValue, 
          String TargetValue, String TextValue, String HeaderTextValue)
      {

         // Create a BoundColumn.
         HyperLinkColumn column = new HyperLinkColumn();

         // Set the properties of the ButtonColumn.
         column.NavigateUrl = NavUrlValue;
         column.Target = TargetValue;
         column.Text = TextValue;
         column.HeaderText = HeaderTextValue;

         return column;

      }

   </script>
 
<head runat="server">
    <title>DataGrid Constructor Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid Constructor Example</h3>
 
      <b>Product List</b>

      <asp:PlaceHolder id="Place"
           runat="server"/>
 
   </form>
 
</body>
</html>


<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script runat="server">

      Function CreateDataSource() As ICollection 
      
         ' Create sample data for the DataGrid control.
         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow
 
         ' Define the columns of the table.
         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("StringValue", GetType(string)))
         dt.Columns.Add(New DataColumn("CurrencyValue", GetType(double)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 to 8 
        
            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 * (i + 1)
 
            dt.Rows.Add(dr)

         Next i
 
         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function
 
      Sub Page_Load(sender As Object, e As EventArgs) 

         ' Create a DataGrid control.
         Dim ItemsGrid As DataGrid = New DataGrid()

         ' Set the properties of the DataGrid.
         ItemsGrid.ID = "ItemsGrid"
         ItemsGrid.BorderColor = System.Drawing.Color.Black
         ItemsGrid.CellPadding = 3
         ItemsGrid.AutoGenerateColumns = False

         ' Set the styles for the DataGrid.
         ItemsGrid.HeaderStyle.BackColor = System.Drawing.Color.FromArgb(&H0000aaaa)

         ' Create the columns for the DataGrid control. The DataGrid
         ' columns are dynamically generated. Therefore, the columns   
         ' must be re-created each time the page is refreshed.
         
         ' Create and add the columns to the collection.
         ItemsGrid.Columns.Add(CreateBoundColumn("IntegerValue", "Item"))
         ItemsGrid.Columns.Add( _
             CreateBoundColumn("StringValue", "Description"))
         ItemsGrid.Columns.Add( _
             CreateBoundColumn("CurrencyValue", "Price", "{0:c}", _
             HorizontalAlign.Right))
         ItemsGrid.Columns.Add( _
             CreateLinkColumn("http:'www.microsoft.com", "_self", _
             "Microsoft", "Related link"))
        
         ' Specify the data source and bind it to the control.     
         ItemsGrid.DataSource = CreateDataSource()
         ItemsGrid.DataBind()

         ' Add the DataGrid control to the Controls collection of 
         ' the PlaceHolder control.
         Place.Controls.Add(ItemsGrid)

      End Sub

      Function CreateBoundColumn(DataFieldValue As String, HeaderTextValue As String) As BoundColumn

         ' This version of CreateBoundColumn method sets only the 
         ' DataField and HeaderText properties.

         ' Create a BoundColumn.
         Dim column As BoundColumn = New BoundColumn()

         ' Set the properties of the BoundColumn.
         column.DataField = DataFieldValue
         column.HeaderText = HeaderTextValue

         Return column

      End Function

      Function CreateBoundColumn(DataFieldValue As String, _
          HeaderTextValue As String, FormatValue As String, _
          AlignValue As HorizontalAlign) As BoundColumn

         ' This version of CreateBoundColumn method sets the DataField,
         ' HeaderText, and DataFormatString properties. It also sets the 
         ' HorizontalAlign property of the ItemStyle property of the column. 

         ' Create a BoundColumn using the overloaded CreateBoundColumn method.
         Dim column As BoundColumn = CreateBoundColumn(DataFieldValue, HeaderTextValue)

         ' Set the properties of the BoundColumn.
         column.DataFormatString = FormatValue
         column.ItemStyle.HorizontalAlign = AlignValue

         Return column

      End Function

      Function CreateLinkColumn(NavUrlValue As String, TargetValue As String, _
         TextValue As String, HeaderTextValue As String) As HyperLinkColumn 

         ' Create a BoundColumn.
         Dim column As HyperLinkColumn = New HyperLinkColumn()

         ' Set the properties of the ButtonColumn.
         column.NavigateUrl = NavUrlValue
         column.Target = TargetValue
         column.Text = TextValue
         column.HeaderText = HeaderTextValue

         Return column

      End Function

   </script>
 
<head runat="server">
    <title>DataGrid Constructor Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid Constructor Example</h3>
 
      <b>Product List</b>

      <asp:PlaceHolder id="Place"
           runat="server"/>
 
   </form>
 
</body>
</html>

Commenti

Utilizzare la DataGridColumnCollection raccolta per gestire a livello di codice una DataGridColumnraccolta di oggetti colonna derivati da.Use the DataGridColumnCollection collection to programmatically manage a collection of DataGridColumn-derived column objects. Questi oggetti rappresentano le colonne in un DataGrid controllo.These objects represent the columns in a DataGrid control. È possibile aggiungere, rimuovere o inserire colonne nella DataGridColumnCollection raccolta.You can add, remove, or insert columns in the DataGridColumnCollection collection.

Nota

Quando la AutoGenerateColumns proprietà è impostata su true, DataGrid le colonne create dal controllo non vengono aggiunte alla Columns raccolta.When the AutoGenerateColumns property is set to true, the columns created by the DataGrid control are not added to the Columns collection.

Il DataGrid controllo non archivia il contenuto della relativa Columns raccolta nello stato di visualizzazione.The DataGrid control does not store the contents of its Columns collection in the view state. Per aggiungere o rimuovere una colonna in modo dinamico, è necessario aggiungere o rimuovere a livello di codice la colonna ogni volta che la pagina viene aggiornata.To add or remove a column dynamically, you must programmatically add or remove the column every time the page is refreshed. Consente di Page_Init specificare una funzione che aggiunge o rimuove la colonna DataGrid prima che lo stato del controllo venga ricaricato e il controllo venga ricompilato.Provide a Page_Init function that adds or removes the column before the DataGrid control's state is reloaded and the control is rebuilt. In caso contrario, le modifiche Columns apportate alla raccolta non vengono riflesse nel controlloquandovienevisualizzato.DataGridOtherwise, the changes to the Columns collection are not reflected in the DataGrid control when it is displayed.

Nota

Sebbene sia possibile aggiungere o rimuovere colonne dalla Columns raccolta DataGrid del controllo a livello di codice, è più semplice elencare le colonne in modo statico e quindi utilizzare la Visible proprietà per visualizzare o nascondere ogni colonna.Although you can programmatically add columns to or remove columns from the Columns collection of the DataGrid control, it is easier to list the columns statically and then use the Visible property to display or hide each column.

L'ordine delle colonne nella raccolta determina l'ordine in cui le colonne vengono visualizzate nel DataGrid controllo.The order of the columns in the collection determines the order that the columns are displayed in the DataGrid control.

Nella tabella seguente sono elencate le diverse classi di colonna che derivano dalla DataGridColumn classe.The following table lists the different column classes that derive from the DataGridColumn class.

Classe ColumnColumn Class DescriptionDescription
BoundColumn Una colonna associata a un campo in un'origine dati.A column that is bound to a field in a data source. Visualizza ogni elemento nel campo come testo.It displays each item in the field as text. Si tratta del tipo di colonna predefinito per DataGrid il controllo.This is the default column type for the DataGrid control.
ButtonColumn Colonna in cui viene visualizzato un pulsante di comando per ogni elemento della colonna.A column that displays a command button for each item in the column. In questo modo è possibile creare una colonna di controlli Button personalizzati, ad esempio aggiungere o rimuovere pulsanti.This allows you to create a column of custom button controls, such as Add or Remove buttons.
EditCommandColumn Colonna contenente i comandi di modifica per ogni elemento della colonna.A column that contains editing commands for each item in the column.
HyperLinkColumn Colonna che visualizza ogni elemento nella colonna come collegamento ipertestuale.A column that displays each item in the column as a hyperlink. Il contenuto della colonna può essere associato a un campo di un'origine dati o a un testo statico.The contents of the column can be bound to a field in a data source, or to static text.
TemplateColumn Colonna che visualizza ogni elemento nella colonna in base a un modello specificato.A column that displays each item in the column according to a specified template. In questo modo è possibile controllare il contenuto della colonna, ad esempio per visualizzare le immagini.This allows you to control the content of the column, for example to display images.

Nota

La DataGridColumn classe è la classe base per le classi di colonna elencate.The DataGridColumn class is the base class for the column classes listed. Non viene usato direttamente nella DataGridColumnCollection raccolta.It is not used directly in the DataGridColumnCollection collection.

Costruttori

DataGridColumnCollection(DataGrid, ArrayList) DataGridColumnCollection(DataGrid, ArrayList) DataGridColumnCollection(DataGrid, ArrayList) DataGridColumnCollection(DataGrid, ArrayList)

Inizializza una nuova istanza della classe DataGridColumnCollection.Initializes a new instance of the DataGridColumnCollection class.

Proprietà

Count Count Count Count

Ottiene il numero di colonne dell'insieme DataGridColumnCollection.Gets the number of columns in the DataGridColumnCollection collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Ottiene un valore che indica se è possibile modificare le colonne dell'insieme DataGridColumnCollection.Gets a value that indicates whether the columns in the DataGridColumnCollection collection can be modified.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Ottiene un valore che indica se l'accesso all'insieme DataGridColumnCollection è sincronizzato (thread-safe).Gets a value indicating whether access to the DataGridColumnCollection collection is synchronized (thread safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ottiene un oggetto colonna derivato da DataGridColumn dall'insieme DataGridColumnCollection in corrispondenza dell'indice specificato.Gets a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Ottiene l'oggetto che può essere utilizzato per sincronizzare l'accesso all'insieme DataGridColumnCollection.Gets the object that can be used to synchronize access to the DataGridColumnCollection collection.

Metodi

Add(DataGridColumn) Add(DataGridColumn) Add(DataGridColumn) Add(DataGridColumn)

Aggiunge alla fine dell'insieme DataGridColumn l'oggetto colonna derivato da DataGridColumnCollection specificato.Appends the specified DataGridColumn-derived column object to the end of the DataGridColumnCollection collection.

AddAt(Int32, DataGridColumn) AddAt(Int32, DataGridColumn) AddAt(Int32, DataGridColumn) AddAt(Int32, DataGridColumn)

Consente di inserire un oggetto colonna derivato da DataGridColumn nell'insieme DataGridColumnCollection in corrispondenza dell'indice specificato.Inserts a DataGridColumn-derived column object in the DataGridColumnCollection collection at the specified index.

Clear() Clear() Clear() Clear()

Consente di rimuovere dall'insieme DataGridColumn tutti gli oggetti colonna derivati da DataGridColumnCollection.Removes all DataGridColumn-derived column objects from the DataGridColumnCollection collection.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

Copia gli elementi dall'insieme DataGridColumnCollection nella classe Array specificata, a partire dall'indice specificato nella classe Array.Copies the items from the DataGridColumnCollection collection to the specified Array, starting at the specified index in the Array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Restituisce un'interfaccia IEnumerator che contiene tutti gli oggetti colonna derivati da DataGridColumn nell'insieme DataGridColumnCollection.Returns a IEnumerator interface that contains all the DataGridColumn-derived column objects in the DataGridColumnCollection collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(DataGridColumn) IndexOf(DataGridColumn) IndexOf(DataGridColumn) IndexOf(DataGridColumn)

Restituisce l'indice dell'oggetto colonna derivato da DataGridColumn specificato dall'insieme DataGridColumnCollection.Returns the index of the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(DataGridColumn) Remove(DataGridColumn) Remove(DataGridColumn) Remove(DataGridColumn)

Rimuove l'oggetto colonna derivato da DataGridColumn specificato dall'insieme DataGridColumnCollection.Removes the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Consente di rimuovere un oggetto colonna derivato da DataGridColumn dall'insieme DataGridColumnCollection in corrispondenza dell'indice specificato.Removes a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'insieme tiene traccia delle modifiche apportate al relativo stato di visualizzazione.Gets a value indicating whether the collection is tracking its view-state changes.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

Carica lo stato precedentemente salvato.Loads the previously saved state.

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

Restituisce un oggetto contenente le modifiche dello stato.Returns an object containing state changes.

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

Avvia la registrazione delle modifiche dello stato.Starts tracking state changes.

Metodi di estensione

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a

Vedi anche