DataGridColumnCollection.Clear Method
Removes all DataGridColumn derived column objects from the DataGridColumnCollection.
[Visual Basic] Public Sub Clear() [C#] public void Clear(); [C++] public: void Clear(); [JScript] public function Clear();
Remarks
Use this method to remove all DataGridColumn derived column objects from the DataGridColumnCollection.
Note The Count property is automatically set to 0 after this method is used.
Example
[Visual Basic, C#] The following example demonstrate how to use the Clear method to empty the DataGridColumnCollection before adding new columns to the collection.
[Visual Basic] <%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script language="VB" runat="server"> Function CreateDataSource() As ICollection Dim dt As New DataTable() Dim dr As DataRow dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32))) dt.Columns.Add(New DataColumn("StringValue", GetType(String))) dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double))) 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 New DataView(dt) Return dv End Function 'CreateDataSource Sub Page_Init(sender As Object, e As EventArgs) ' Empty DataGridColumnsCollection collection. ItemsGrid.Columns.Clear() ' Create dynamic columns to add to Columns collection. Dim IntegerColumn As New BoundColumn() Dim StringColumn As New BoundColumn() Dim PriceColumn As New BoundColumn() IntegerColumn.HeaderText = "Item Number" IntegerColumn.DataField = "IntegerValue" StringColumn.HeaderText = "Item" StringColumn.DataField = "StringValue" PriceColumn.HeaderText = "Price" PriceColumn.DataField = "CurrencyValue" ' Add columns to Columns collection. ItemsGrid.Columns.Add(IntegerColumn) ItemsGrid.Columns.Add(StringColumn) ItemsGrid.Columns.Add(PriceColumn) End Sub 'Page_Init Sub Page_Load(sender As Object, e As EventArgs) If Not IsPostBack Then ' Load this data only once ItemsGrid.DataSource = CreateDataSource() ItemsGrid.DataBind() End If End Sub 'Page_Load </script> <body> <form runat=server> <h3>DataGridColumnCollection Clear Example</h3> <b>Product List</b> <asp:DataGrid id="ItemsGrid" BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="false" runat="server"> <HeaderStyle BackColor="#00aaaa"> </HeaderStyle> <Columns> <asp:BoundColumn HeaderText="Item Number" DataField="IntegerValue"/> <asp:BoundColumn HeaderText="Item" DataField="StringValue"/> <asp:BoundColumn HeaderText="Price" DataField="CurrencyValue" DataFormatString="{0:c}"> <ItemStyle HorizontalAlign="right"> </ItemStyle> </asp:BoundColumn> </Columns> </asp:DataGrid> </form> </body> </html> [C#] <%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script language="C#" runat="server"> ICollection CreateDataSource() { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(string))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double))); 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_Init(Object sender, EventArgs e) { // Empty DataGridColumnsCollection collection. ItemsGrid.Columns.Clear(); // Create dynamic columns to add to Columns collection. BoundColumn IntegerColumn = new BoundColumn(); BoundColumn StringColumn = new BoundColumn(); BoundColumn PriceColumn = new BoundColumn(); IntegerColumn.HeaderText="Item Number"; IntegerColumn.DataField="IntegerValue"; StringColumn.HeaderText="Item"; StringColumn.DataField="StringValue"; PriceColumn.HeaderText="Price"; PriceColumn.DataField="CurrencyValue"; // Add columns to Columns collection. ItemsGrid.Columns.Add(IntegerColumn); ItemsGrid.Columns.Add(StringColumn); ItemsGrid.Columns.Add(PriceColumn); } void Page_Load(Object sender, EventArgs e) { if (!IsPostBack) { // Load this data only once. ItemsGrid.DataSource= CreateDataSource(); ItemsGrid.DataBind(); } } </script> <body> <form runat=server> <h3>DataGridColumnCollection Clear Example</h3> <b>Product List</b> <asp:DataGrid id="ItemsGrid" BorderColor="black" BorderWidth="1" CellPadding="3" AutoGenerateColumns="false" runat="server"> <HeaderStyle BackColor="#00aaaa"> </HeaderStyle> <Columns> <asp:BoundColumn HeaderText="Item Number" DataField="IntegerValue"/> <asp:BoundColumn HeaderText="Item" DataField="StringValue"/> <asp:BoundColumn HeaderText="Price" DataField="CurrencyValue" DataFormatString="{0:c}"> <ItemStyle HorizontalAlign="right"> </ItemStyle> </asp:BoundColumn> </Columns> </asp:DataGrid> </form> </body> </html>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
DataGridColumnCollection Class | DataGridColumnCollection Members | System.Web.UI.WebControls Namespace | DataGrid | Columns | DataGridColumn | Add | AddAt | Remove | RemoveAt