DataGridColumnCollection Classe

Définition

Collection d’objets de colonnes dérivés de DataGridColumn qui représentent les colonnes dans un contrôle DataGrid.A collection of DataGridColumn-derived column objects that represent the columns in a DataGrid control. Cette classe ne peut pas être héritée.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
Héritage
DataGridColumnCollection
Implémente

Exemples

L’exemple de code suivant montre comment utiliser la DataGridColumnCollection collection pour ajouter dynamiquement une colonne DataGrid au contrôle.The following code example demonstrates how to use the DataGridColumnCollection collection to dynamically add a column to the DataGrid control. Notez que la Columns propriété DataGrid du contrôle est une instance de la DataGridColumnCollection 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>

Remarques

Utilisez la DataGridColumnCollection collection pour gérer par programmation une collection d’objets DataGridColumnde colonne dérivés de.Use the DataGridColumnCollection collection to programmatically manage a collection of DataGridColumn-derived column objects. Ces objets représentent les colonnes dans un DataGrid contrôle.These objects represent the columns in a DataGrid control. Vous pouvez ajouter, supprimer ou insérer des colonnes dans la DataGridColumnCollection collection.You can add, remove, or insert columns in the DataGridColumnCollection collection.

Notes

Lorsque la AutoGenerateColumns propriété a true, la valeur, les colonnes créées par DataGrid le contrôle ne sont pas ajoutées Columns à la collection.When the AutoGenerateColumns property is set to true, the columns created by the DataGrid control are not added to the Columns collection.

Le DataGrid contrôle ne stocke pas le contenu de Columns sa collection dans l’état d’affichage.The DataGrid control does not store the contents of its Columns collection in the view state. Pour ajouter ou supprimer une colonne de manière dynamique, vous devez ajouter ou supprimer la colonne par programmation chaque fois que la page est actualisée.To add or remove a column dynamically, you must programmatically add or remove the column every time the page is refreshed. Fournissez Page_Init une fonction qui ajoute ou supprime la colonne avant DataGrid le rechargement de l’état du contrôle et le contrôle est régénéré.Provide a Page_Init function that adds or removes the column before the DataGrid control's state is reloaded and the control is rebuilt. Sinon, les modifications apportées à la Columns collection ne sont pas reflétées dans le DataGrid contrôle lorsqu’il est affiché.Otherwise, the changes to the Columns collection are not reflected in the DataGrid control when it is displayed.

Notes

Bien que vous puissiez ajouter ou supprimer Columns DataGrid des colonnes par programmation dans la collection du contrôle, il est plus facile de répertorier les colonnes de manière statique, puis d' Visible utiliser la propriété pour afficher ou masquer chaque colonne.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’ordre des colonnes dans la collection détermine l’ordre dans lequel les colonnes sont affichées dans le DataGrid contrôle.The order of the columns in the collection determines the order that the columns are displayed in the DataGrid control.

Le tableau suivant répertorie les différentes classes de colonnes qui dérivent de la DataGridColumn classe.The following table lists the different column classes that derive from the DataGridColumn class.

Classe ColumnColumn Class DescriptionDescription
BoundColumn Colonne liée à un champ dans une source de données.A column that is bound to a field in a data source. Il affiche chaque élément dans le champ sous forme de texte.It displays each item in the field as text. Il s’agit du type de colonne par DataGrid défaut pour le contrôle.This is the default column type for the DataGrid control.
ButtonColumn Colonne qui affiche un bouton de commande pour chaque élément de la colonne.A column that displays a command button for each item in the column. Cela vous permet de créer une colonne de contrôles bouton personnalisés, tels que les boutons ajouter ou supprimer.This allows you to create a column of custom button controls, such as Add or Remove buttons.
EditCommandColumn Colonne qui contient des commandes d’édition pour chaque élément de la colonne.A column that contains editing commands for each item in the column.
HyperLinkColumn Colonne qui affiche chaque élément de la colonne sous la forme d’un lien hypertexte.A column that displays each item in the column as a hyperlink. Le contenu de la colonne peut être lié à un champ dans une source de données ou à du texte statique.The contents of the column can be bound to a field in a data source, or to static text.
TemplateColumn Colonne qui affiche chaque élément de la colonne en fonction d’un modèle spécifié.A column that displays each item in the column according to a specified template. Cela vous permet de contrôler le contenu de la colonne, par exemple pour afficher des images.This allows you to control the content of the column, for example to display images.

Notes

La DataGridColumn classe est la classe de base pour les classes de colonne listées.The DataGridColumn class is the base class for the column classes listed. Elle n’est pas utilisée directement dans DataGridColumnCollection la collection.It is not used directly in the DataGridColumnCollection collection.

Constructeurs

DataGridColumnCollection(DataGrid, ArrayList)

Initialise une nouvelle instance de la classe DataGridColumnCollection.Initializes a new instance of the DataGridColumnCollection class.

Propriétés

Count

Obtient le nombre de colonnes dans la collection DataGridColumnCollection.Gets the number of columns in the DataGridColumnCollection collection.

IsReadOnly

Obtient une valeur qui indique si les colonnes de la collection DataGridColumnCollection peuvent être modifiées.Gets a value that indicates whether the columns in the DataGridColumnCollection collection can be modified.

IsSynchronized

Obtient une valeur indiquant si l'accès à la collection DataGridColumnCollection est synchronisé (thread-safe).Gets a value indicating whether access to the DataGridColumnCollection collection is synchronized (thread safe).

Item[Int32]

Obtient un objet de colonne dérivé de DataGridColumn à partir de la collection DataGridColumnCollection à l'index spécifié.Gets a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

SyncRoot

Obtient l'objet pouvant être utilisé pour synchroniser l'accès à la collection DataGridColumnCollection.Gets the object that can be used to synchronize access to the DataGridColumnCollection collection.

Méthodes

Add(DataGridColumn)

Ajoute l'objet de colonne dérivé de DataGridColumn spécifié à la fin de la collection DataGridColumnCollection.Appends the specified DataGridColumn-derived column object to the end of the DataGridColumnCollection collection.

AddAt(Int32, DataGridColumn)

Insère un objet de colonne dérivé de DataGridColumn dans la collection DataGridColumnCollection à l'index spécifié.Inserts a DataGridColumn-derived column object in the DataGridColumnCollection collection at the specified index.

Clear()

Supprime tous les objets de colonne dérivés de DataGridColumn de la collection DataGridColumnCollection.Removes all DataGridColumn-derived column objects from the DataGridColumnCollection collection.

CopyTo(Array, Int32)

Copie les éléments de la collection DataGridColumnCollection dans le Array spécifié, en commençant à l'index spécifié dans Array.Copies the items from the DataGridColumnCollection collection to the specified Array, starting at the specified index in the Array.

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetEnumerator()

Retourne une interface IEnumerator qui contient tous les objets de colonne dérivés de DataGridColumn dans la collection DataGridColumnCollection.Returns a IEnumerator interface that contains all the DataGridColumn-derived column objects in the DataGridColumnCollection collection.

GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
IndexOf(DataGridColumn)

Retourne l'index de l'objet de colonne dérivé de DataGridColumn spécifié à partir de la collection DataGridColumnCollection.Returns the index of the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Remove(DataGridColumn)

Supprime de la collection DataGridColumn l'objet de colonne dérivé de DataGridColumnCollection spécifié.Removes the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

RemoveAt(Int32)

Supprime un objet de colonne dérivé de DataGridColumn de la collection DataGridColumnCollection à l'index spécifié.Removes a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

IStateManager.IsTrackingViewState

Obtient une valeur indiquant si la collection effectue le suivi des modifications de son état d'affichage.Gets a value indicating whether the collection is tracking its view-state changes.

IStateManager.LoadViewState(Object)

Charge l'état enregistré précédemment.Loads the previously saved state.

IStateManager.SaveViewState()

Retourne un objet contenant les modifications de l'état.Returns an object containing state changes.

IStateManager.TrackViewState()

Commence à suivre les modifications d'état.Starts tracking state changes.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

S’applique à

Voir aussi