DataGridColumnCollection.Clear Method ()

 

Removes all DataGridColumn-derived column objects from the DataGridColumnCollection collection.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

Public Sub Clear

Use this method to remove all DataGridColumn-derived column objects from the DataGridColumnCollection collection.

System_CAPS_noteNote

The Count property is automatically set to 0 after this method is used.

The following code example demonstrates how to use the Clear method to empty the DataGridColumnCollection collection before adding new columns to the collection.

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

<head runat="server">
    <title>DataGridColumnCollection Clear Example</title>
</head>
<body>

   <form id="form1" 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>

.NET Framework
Available since 1.1
Return to top
Show: