DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection Class

Definition

Eine Auflistung mit von DataGridColumn abgeleiteten Spaltenobjekte, die die Spalten in einem DataGrid-Steuerelement darstellen.A collection of DataGridColumn-derived column objects that represent the columns in a DataGrid control. Diese Klasse kann nicht vererbt werden.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
Vererbung
DataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollection
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die DataGridColumnCollection -Auflistung verwendet wird, um dem DataGrid -Steuerelement dynamisch eine-Spalte hinzuzufügen.The following code example demonstrates how to use the DataGridColumnCollection collection to dynamically add a column to the DataGrid control. Beachten Sie, Columns dass die- DataGrid Eigenschaft des-Steuer Elements eine DataGridColumnCollection Instanz der-Klasse ist.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>

Hinweise

Verwenden Sie DataGridColumnCollection die-Auflistung, um eine Auflistung von DataGridColumnvon abgeleiteten Spalten Objekten Programm gesteuert zu verwalten.Use the DataGridColumnCollection collection to programmatically manage a collection of DataGridColumn-derived column objects. Diese Objekte stellen die Spalten in einem DataGrid -Steuerelement dar.These objects represent the columns in a DataGrid control. Sie können Spalten in der DataGridColumnCollection Auflistung hinzufügen, entfernen oder einfügen.You can add, remove, or insert columns in the DataGridColumnCollection collection.

Hinweis

Wenn die AutoGenerateColumns -Eigenschaft auf fest true, gelegt wird, werden die DataGrid vom-Steuerelement erstellten Spalten Columns nicht der-Auflistung hinzugefügt.When the AutoGenerateColumns property is set to true, the columns created by the DataGrid control are not added to the Columns collection.

Das- Columns Steuerelement speichert den Inhalt seiner Auflistung nicht im Ansichts Zustand. DataGridThe DataGrid control does not store the contents of its Columns collection in the view state. Wenn Sie eine Spalte dynamisch hinzufügen oder entfernen möchten, müssen Sie die Spalte bei jeder Aktualisierung der Seite Programm gesteuert hinzufügen oder entfernen.To add or remove a column dynamically, you must programmatically add or remove the column every time the page is refreshed. Stellen Sie Page_Init eine Funktion bereit, durch die die Spalte hinzu DataGrid gefügt oder entfernt wird, bevor der Zustand des-Steuer Elements neu geladen und das-SteuerelementProvide a Page_Init function that adds or removes the column before the DataGrid control's state is reloaded and the control is rebuilt. Andernfalls werden die Änderungen an der Columns Auflistung nicht DataGrid im Steuerelement angezeigt, wenn es angezeigt wird.Otherwise, the changes to the Columns collection are not reflected in the DataGrid control when it is displayed.

Hinweis

Obwohl Sie der-Auflistung Columns DataGrid des-Steuer Elements Spalten Programm gesteuert hinzufügen oder Spalten daraus entfernen können, ist es einfacher, die Spalten statisch aufzulisten und dann die Visible -Eigenschaft zu verwenden, um die einzelnen Spalten anzuzeigen oder auszublenden.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.

Die Reihenfolge der Spalten in der Auflistung bestimmt die Reihenfolge, in der die Spalten im DataGrid Steuerelement angezeigt werden.The order of the columns in the collection determines the order that the columns are displayed in the DataGrid control.

In der folgenden Tabelle werden die verschiedenen Spalten Klassen aufgelistet, die DataGridColumn von der-Klasse abgeleitet werden.The following table lists the different column classes that derive from the DataGridColumn class.

Column-KlasseColumn Class BeschreibungDescription
BoundColumn Eine Spalte, die an ein Feld in einer Datenquelle gebunden ist.A column that is bound to a field in a data source. Jedes Element im Feld wird als Text angezeigt.It displays each item in the field as text. Dies ist der Standard Spaltentyp für DataGrid das-Steuerelement.This is the default column type for the DataGrid control.
ButtonColumn Eine Spalte, die eine Befehls Schaltfläche für jedes Element in der Spalte anzeigt.A column that displays a command button for each item in the column. Dadurch können Sie eine Spalte mit benutzerdefinierten Schaltflächen-Steuerelementen erstellen, z. b. Schaltflächen hinzufügen oder entfernen.This allows you to create a column of custom button controls, such as Add or Remove buttons.
EditCommandColumn Eine Spalte, die Bearbeitungsbefehle für jedes Element in der Spalte enthält.A column that contains editing commands for each item in the column.
HyperLinkColumn Eine Spalte, in der jedes Element in der Spalte als Hyperlink angezeigt wird.A column that displays each item in the column as a hyperlink. Der Inhalt der Spalte kann an ein Feld in einer Datenquelle oder an statischen Text gebunden werden.The contents of the column can be bound to a field in a data source, or to static text.
TemplateColumn Eine Spalte, in der jedes Element in der Spalte entsprechend einer angegebenen Vorlage angezeigt wird.A column that displays each item in the column according to a specified template. Dies ermöglicht es Ihnen, den Inhalt der Spalte zu steuern, z. b. um Bilder anzuzeigen.This allows you to control the content of the column, for example to display images.

Hinweis

Die DataGridColumn -Klasse ist die Basisklasse für die aufgelisteten Spalten Klassen.The DataGridColumn class is the base class for the column classes listed. Er wird nicht direkt in der DataGridColumnCollection Auflistung verwendet.It is not used directly in the DataGridColumnCollection collection.

Konstruktoren

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

Initialisiert eine neue Instanz der DataGridColumnCollection-Klasse.Initializes a new instance of the DataGridColumnCollection class.

Eigenschaften

Count Count Count Count

Ruft die Anzahl der Spalten in der DataGridColumnCollection-Auflistung ab.Gets the number of columns in the DataGridColumnCollection collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Ruft einen Wert ab, der angibt, ob die Spalten in der DataGridColumnCollection-Auflistung geändert werden können.Gets a value that indicates whether the columns in the DataGridColumnCollection collection can be modified.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die DataGridColumnCollection-Auflistung synchronisiert (threadsicher) ist.Gets a value indicating whether access to the DataGridColumnCollection collection is synchronized (thread safe).

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

Ruft ein von DataGridColumn abgeleitetes Spaltenobjekt am angegebenen Index aus der DataGridColumnCollection-Auflistung ab.Gets a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Ruft das Objekt ab, mit dem der Zugriff auf die DataGridColumnCollection-Auflistung synchronisiert werden kann.Gets the object that can be used to synchronize access to the DataGridColumnCollection collection.

Methoden

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

Fügt das angegebene, von DataGridColumn abgeleitete Spaltenobjekt an das Ende der DataGridColumnCollection-Auflistung an.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)

Fügt ein von DataGridColumn abgeleitetes Spaltenobjekt am angegebenen Index in die DataGridColumnCollection-Auflistung ein.Inserts a DataGridColumn-derived column object in the DataGridColumnCollection collection at the specified index.

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

Entfernt sämtliche von DataGridColumn abgeleiteten Spaltenobjekte aus der DataGridColumnCollection-Auflistung.Removes all DataGridColumn-derived column objects from the DataGridColumnCollection collection.

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

Kopiert die Elemente aus der DataGridColumnCollection-Auflistung in das angegebene Array, wobei am angegebenen Index im Array begonnen wird.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)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Gibt eine IEnumerator-Schnittstelle zurück, die alle von DataGridColumn abgeleiteten Spaltenobjekte in der DataGridColumnCollection-Auflistung enthält.Returns a IEnumerator interface that contains all the DataGridColumn-derived column objects in the DataGridColumnCollection collection.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Gibt den Index des angegebenen, von DataGridColumn abgeleiteten Spaltenobjekts aus der DataGridColumnCollection-Auflistung zurück.Returns the index of the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Entfernt das angegebene, von DataGridColumn abgeleitete Spaltenobjekt aus der DataGridColumnCollection-Auflistung.Removes the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

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

Entfernt ein von DataGridColumn abgeleitetes Spaltenobjekt am angegebenen Index aus der DataGridColumnCollection-Auflistung.Removes a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

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

Ruft einen Wert ab, der angibt, ob die Auflistung die Änderungen ihres Ansichtszustands verfolgt.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)

Lädt den zuvor gespeicherten Zustand.Loads the previously saved state.

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

Gibt ein Objekt zurück, das Zustandsänderungen enthält.Returns an object containing state changes.

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

Startet das Verfolgen von Zustandsänderungen.Starts tracking state changes.

Erweiterungsmethoden

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

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

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

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

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

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

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

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Gilt für:

Siehe auch