Sdílet prostřednictvím


DataGridColumnCollection Třída

Definice

Kolekce objektů odvozených DataGridColumnsloupců, které představují sloupce v ovládacím DataGrid prvku. Tuto třídu nelze zdědit.

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
Dědičnost
DataGridColumnCollection
Implementuje

Příklady

Následující příklad kódu ukazuje, jak pomocí DataGridColumnCollection kolekce dynamicky přidat sloupec do DataGrid ovládacího prvku. Všimněte si, že Columns vlastnost DataGrid ovládacího prvku je instance DataGridColumnCollection třídy.


<%@ 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>

Poznámky

DataGridColumnCollection Pomocí kolekce můžete programově spravovat kolekci objektů odvozených DataGridColumnsloupců. Tyto objekty představují sloupce v ovládacím DataGrid prvku. Do kolekce můžete přidávat, odebírat nebo vkládat sloupce DataGridColumnCollection .

Poznámka:

AutoGenerateColumns Pokud je vlastnost nastavena na true, sloupce vytvořené ovládacím DataGrid prvku nejsou přidány do Columns kolekce.

Ovládací DataGrid prvek neukládá obsah své Columns kolekce do stavu zobrazení. Pokud chcete sloupec přidat nebo odebrat dynamicky, musíte sloupec přidat nebo odebrat programově při každé aktualizaci stránky. Page_Init Zadejte funkci, která před opětovným načtením stavu ovládacího prvku přidá nebo odebere sloupec DataGrid a ovládací prvek se znovu sestaví. V opačném případě se změny Columns kolekce při zobrazení neprojeví v ovládacím DataGrid prvku.

Poznámka:

I když můžete sloupce přidávat nebo odebírat z Columns kolekce DataGrid ovládacího prvku prostřednictvím kódu programu, je jednodušší zobrazit nebo skrýt jednotlivé sloupce staticky a pak pomocí Visible vlastnosti zobrazit nebo skrýt jednotlivé sloupce.

Pořadí sloupců v kolekci určuje pořadí, ve kterém jsou sloupce zobrazeny v ovládacím DataGrid prvku.

Následující tabulka uvádí různé třídy sloupců, které jsou odvozeny od DataGridColumn třídy.

Column – třída Description
BoundColumn Sloupec, který je svázán s polem ve zdroji dat. Zobrazí každou položku v poli jako text. Toto je výchozí typ DataGrid sloupce ovládacího prvku.
ButtonColumn Sloupec, který zobrazuje příkazové tlačítko pro každou položku ve sloupci. Díky tomu můžete vytvořit sloupec vlastních ovládacích prvků tlačítek, jako jsou tlačítka Přidat nebo Odebrat.
EditCommandColumn Sloupec, který obsahuje příkazy pro úpravy pro každou položku ve sloupci.
HyperLinkColumn Sloupec, který zobrazuje každou položku ve sloupci jako hypertextový odkaz. Obsah sloupce může být svázán s polem ve zdroji dat nebo se statickým textem.
TemplateColumn Sloupec, který zobrazuje každou položku ve sloupci podle zadané šablony. To vám umožní řídit obsah sloupce, například zobrazit obrázky.

Poznámka:

Třída DataGridColumn je základní třídou pro třídy sloupců uvedené. Nepoužívá se přímo v kolekci DataGridColumnCollection .

Konstruktory

Name Description
DataGridColumnCollection(DataGrid, ArrayList)

Inicializuje novou instanci DataGridColumnCollection třídy.

Vlastnosti

Name Description
Count

Získá počet sloupců v kolekci DataGridColumnCollection .

IsReadOnly

Získá hodnotu, která určuje, zda sloupce v DataGridColumnCollection kolekci lze upravit.

IsSynchronized

Získá hodnotu označující, zda je přístup ke DataGridColumnCollection kolekci synchronizován (bezpečné vlákno).

Item[Int32]

Získá -odvozený sloupcový DataGridColumnobjekt z DataGridColumnCollection kolekce v zadaném indexu.

SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k kolekci DataGridColumnCollection .

Metody

Name Description
Add(DataGridColumn)

Připojí zadaný DataGridColumnobjekt odvozeného sloupce na konec DataGridColumnCollection kolekce.

AddAt(Int32, DataGridColumn)

Vloží objekt odvozeného DataGridColumnsloupce do DataGridColumnCollection kolekce v zadaném indexu.

Clear()

Odebere všechny DataGridColumnobjekty odvozených sloupců z DataGridColumnCollection kolekce.

CopyTo(Array, Int32)

Zkopíruje položky z DataGridColumnCollection kolekce do zadaného Arrayindexu počínaje zadaným indexem v souboru Array.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetEnumerator()

IEnumerator Vrátí rozhraní, které obsahuje všechny DataGridColumnobjekty odvozeného sloupce v kolekciDataGridColumnCollection.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IndexOf(DataGridColumn)

Vrátí index zadaného DataGridColumnobjektu odvozeného sloupce z DataGridColumnCollection kolekce.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Remove(DataGridColumn)

Odebere zadaný DataGridColumnobjekt odvozeného sloupce z DataGridColumnCollection kolekce.

RemoveAt(Int32)

Odebere objekt odvozeného DataGridColumnsloupce z DataGridColumnCollection kolekce v zadaném indexu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
IStateManager.IsTrackingViewState

Získá hodnotu určující, zda kolekce sleduje své změny stavu zobrazení.

IStateManager.LoadViewState(Object)

Načte dříve uložený stav.

IStateManager.SaveViewState()

Vrátí objekt obsahující změny stavu.

IStateManager.TrackViewState()

Spustí sledování změn stavu.

Metody rozšíření

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede na IEnumerable .IQueryable

Cast<TResult>(IEnumerable)

Přetypuje prvky zadaného IEnumerable typu.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable na základě zadaného typu.

Platí pro

Viz také