DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection DataGridColumnCollection Class

Определение

Коллекция объектов столбцов, производных от DataGridColumn, которые представляют столбцы в элементе управления DataGrid.A collection of DataGridColumn-derived column objects that represent the columns in a DataGrid control. Этот класс не наследуется.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
Наследование
DataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollectionDataGridColumnCollection
Реализации

Примеры

В следующем примере кода демонстрируется использование DataGridColumnCollection коллекции для динамического добавления столбца к DataGrid элемента управления.The following code example demonstrates how to use the DataGridColumnCollection collection to dynamically add a column to the DataGrid control. Обратите внимание, что Columns свойство DataGrid управления — это экземпляр DataGridColumnCollection класса.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>

Комментарии

Используйте DataGridColumnCollection коллекции для программного управления коллекцию DataGridColumn-производных объектов столбца.Use the DataGridColumnCollection collection to programmatically manage a collection of DataGridColumn-derived column objects. Эти объекты представляют столбцы в DataGrid элемента управления.These objects represent the columns in a DataGrid control. Можно добавить, удалить или добавить столбцы в DataGridColumnCollection коллекции.You can add, remove, or insert columns in the DataGridColumnCollection collection.

Примечание

При AutoGenerateColumns свойству true, столбцы, созданные DataGrid управления не добавляются Columns коллекции.When the AutoGenerateColumns property is set to true, the columns created by the DataGrid control are not added to the Columns collection.

DataGrid Управления не хранит содержимое его Columns коллекции в состоянии представления.The DataGrid control does not store the contents of its Columns collection in the view state. Чтобы добавить или удалить столбец динамически, необходимо программным способом добавить или удалить столбец, каждый раз при обновлении страницы.To add or remove a column dynamically, you must programmatically add or remove the column every time the page is refreshed. Укажите Page_Init функцию, которая добавляет или удаляет столбец перед DataGrid загружается состояние элемента управления и его обновлением.Provide a Page_Init function that adds or removes the column before the DataGrid control's state is reloaded and the control is rebuilt. В противном случае изменения Columns коллекции, не отражаются в DataGrid управления при отображении.Otherwise, the changes to the Columns collection are not reflected in the DataGrid control when it is displayed.

Примечание

Несмотря на то, что можно программно добавлять или удалите столбцы из Columns коллекцию DataGrid элемента управления, стало проще просмотреть столбцы, а затем с помощью Visible свойство, чтобы отобразить или скрыть каждого столбца.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.

Порядок столбцов в коллекции определяет порядок отображения столбцов в DataGrid элемента управления.The order of the columns in the collection determines the order that the columns are displayed in the DataGrid control.

В следующей таблице перечислены различные классы столбцов, которые являются производными от DataGridColumn класса.The following table lists the different column classes that derive from the DataGridColumn class.

Класс столбцаColumn Class ОписаниеDescription
BoundColumn Столбец, который привязывается к полю в источнике данных.A column that is bound to a field in a data source. Он отображает каждый элемент в поле в виде текста.It displays each item in the field as text. Тип столбца по умолчанию для DataGrid элемента управления.This is the default column type for the DataGrid control.
ButtonColumn Столбец, отображающий кнопку для каждого элемента в столбце.A column that displays a command button for each item in the column. Это позволяет создать столбец элементов управления настраиваемых кнопок, например добавить или удалить кнопки.This allows you to create a column of custom button controls, such as Add or Remove buttons.
EditCommandColumn Столбец, содержащий команды редактирования для каждого элемента в столбце.A column that contains editing commands for each item in the column.
HyperLinkColumn Столбец, в котором каждый элемент отображается в столбце как гиперссылку.A column that displays each item in the column as a hyperlink. Содержимое столбца можно привязать к полю в источнике данных или в статический текст.The contents of the column can be bound to a field in a data source, or to static text.
TemplateColumn Столбец, в котором каждый элемент отображается в столбце в соответствии с указанным шаблоном.A column that displays each item in the column according to a specified template. Это позволяет управлять содержимым столбца, например для отображения изображения.This allows you to control the content of the column, for example to display images.

Примечание

DataGridColumn Класс является базовым классом для классов столбцов в списке.The DataGridColumn class is the base class for the column classes listed. Он не используется непосредственно в DataGridColumnCollection коллекции.It is not used directly in the DataGridColumnCollection collection.

Конструкторы

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

Инициализирует новый экземпляр класса DataGridColumnCollection.Initializes a new instance of the DataGridColumnCollection class.

Свойства

Count Count Count Count

Возвращает количество столбцов в коллекции DataGridColumnCollection.Gets the number of columns in the DataGridColumnCollection collection.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Возвращает значение, показывающее, могут ли быть изменены столбцы в коллекции DataGridColumnCollection.Gets a value that indicates whether the columns in the DataGridColumnCollection collection can be modified.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Возвращает значение, указывающее, является ли доступ к коллекции DataGridColumnCollection синхронизированным (потокобезопасным).Gets a value indicating whether access to the DataGridColumnCollection collection is synchronized (thread safe).

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

Возвращает объект столбца, производной от DataGridColumn, из коллекции DataGridColumnCollection по указанному индексу.Gets a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

Возвращает объект, который можно использовать для синхронизации доступа к коллекции DataGridColumnCollection.Gets the object that can be used to synchronize access to the DataGridColumnCollection collection.

Методы

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

Добавляет указанный объект столбца, производной от DataGridColumn, в конец коллекции DataGridColumnCollection.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)

Вставляет объект столбца, производной от DataGridColumn, в коллекцию DataGridColumnCollection по указанному индексу.Inserts a DataGridColumn-derived column object in the DataGridColumnCollection collection at the specified index.

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

Удаляет все объекты столбцов, производные от DataGridColumn, из коллекции DataGridColumnCollection.Removes all DataGridColumn-derived column objects from the DataGridColumnCollection collection.

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

Копирует все элементы из коллекции DataGridColumnCollection в указанный массив Array, начиная с заданного индекса в массиве 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)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Возвращает интерфейс IEnumerator, содержащий все объекты столбцов, производные от DataGridColumn, из коллекции DataGridColumnCollection.Returns a IEnumerator interface that contains all the DataGridColumn-derived column objects in the DataGridColumnCollection collection.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Возвращает индекс указанного объекта столбца, производного от DataGridColumn, из коллекции DataGridColumnCollection.Returns the index of the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Удаляет указанный объект столбца, производной от DataGridColumn, из коллекции DataGridColumnCollection.Removes the specified DataGridColumn-derived column object from the DataGridColumnCollection collection.

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

Удаляет объект столбца, производной от DataGridColumn, из коллекции DataGridColumnCollection по указанному индексу.Removes a DataGridColumn-derived column object from the DataGridColumnCollection collection at the specified index.

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

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

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

Возвращает значение, указывающее, отслеживает ли коллекция изменения своего состояния представления.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)

Загружает сохраненное ранее состояние.Loads the previously saved state.

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

Возвращает объект, содержащий данные об изменении состояния.Returns an object containing state changes.

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

Запускает отслеживание изменений состояния.Starts tracking state changes.

Методы расширения

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

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

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

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

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

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

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

Преобразует IEnumerable для IQueryable.Converts an IEnumerable to an IQueryable.

Применяется к

Дополнительно