Exporter (0) Imprimer
Développer tout

DataGridColumnCollection, classe

Collection d'objets de colonnes dérivés de DataGridColumn qui représentent les colonnes dans un contrôle DataGrid. Cette classe ne peut pas être héritée.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public sealed class DataGridColumnCollection : ICollection, IEnumerable, IStateManager
public final class DataGridColumnCollection implements ICollection, IEnumerable, 
	IStateManager
public final class DataGridColumnCollection implements ICollection, IEnumerable, 
	IStateManager

Utilisez la collection DataGridColumnCollection pour gérer par programme une collection d'objets de colonnes dérivés de DataGridColumn. Ces objets représentent les colonnes dans un contrôle DataGrid. Vous pouvez ajouter, supprimer ou insérer des colonnes dans la collection DataGridColumnCollection.

RemarqueRemarque

Lorsque true, est attribué à la propriété AutoGenerateColumns, les colonnes créées par le contrôle DataGrid ne sont pas ajoutées à la collection Columns.

Le contrôle DataGrid ne stocke pas le contenu de sa collection Columns dans l'état d'affichage. Pour ajouter ou supprimer une colonne dynamiquement, vous devez ajouter ou supprimer la colonne par programme chaque fois que la page est actualisée. Fournissez une fonction Page_Init qui ajoute ou supprime la colonne avant que l'état du contrôle DataGrid soit rechargé et que le contrôle soit régénéré. Sinon, les changements effectués dans la collection Columns ne sont pas réfléchis dans le contrôle DataGrid lorsqu'il est affiché.

RemarqueRemarque

Bien que vous puissiez ajouter ou supprimer des colonnes par programme de la collection Columns du contrôle DataGrid, il est plus facile d'afficher les colonnes de manière statique, puis d'utiliser la propriété Visible pour afficher ou masquer chaque colonne.

L'ordre des colonnes dans la collection détermine l'ordre dans lequel les colonnes sont affichées dans le contrôle DataGrid.

Le tableau suivant affiche les différentes classes Column qui dérivent de la classe DataGridColumn.

Classe Column

Description

BoundColumn

Colonne dépendante d'un champ dans une source de données. Elle affiche chaque élément figurant dans le champ sous forme de texte. Il s'agit du type de colonne par défaut pour le contrôle DataGrid.

ButtonColumn

Colonne qui affiche un bouton de commande pour chaque élément dans la colonne. Cela vous permet de créer une colonne de contrôles boutons personnalisés, tels que des boutons Ajouter ou Supprimer.

EditCommandColumn

Colonne qui contient des commandes de modification pour chaque élément dans la colonne.

HyperLinkColumn

Colonne qui affiche chaque élément figurant dans la colonne sous forme de lien hypertexte. Le contenu de la colonne peut être lié à un champ dans une source de données ou à du texte statique.

TemplateColumn

Colonne qui affiche chaque élément figurant dans la colonne en fonction d'un modèle spécifié. Cela vous permet de contrôler le contenu de la colonne, pour afficher des images par exemple.

RemarqueRemarque

La classe DataGridColumn est la classe de base des classes Column répertoriées. Elle n'est pas directement utilisée dans la collection DataGridColumnCollection.

L'exemple de code suivant montre comment utiliser la collection DataGridColumnCollection pour ajouter dynamiquement une colonne au contrôle DataGrid. Notez que la propriété Columns du contrôle DataGrid est une instance de la classe DataGridColumnCollection.


<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <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>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid Constructor Example</h3>
 
      <b>Product List</b>

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


System.Object
  System.Web.UI.WebControls.DataGridColumnCollection

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft