This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

DataGridColumnCollection.AddAt أسلوب

Visual Studio 2010

Inserts a DataGridColumn-derived عمود كائن في the DataGridColumnCollection مجموعة at the specified فهرس.

مساحة الاسم:  System.Web.UI.WebControls
التجميع:  System.Web (في System.Web.dll)

public void AddAt(
	int index,
	DataGridColumn column
)

المعلمات

index
النوع: System.Int32
The فهرس الموقع في the DataGridColumnCollection at which إلى إدراج the DataGridColumn-derived عمود.
column
النوع: System.Web.UI.WebControls.DataGridColumn
The DataGridColumn-derived عمود إلى إدراج في the DataGridColumnCollection.

استثناء:شرط
ArgumentNullException

column هو null.

استخدم this أسلوب إلى إدراج a DataGridColumn-derived عمود كائن at the specified فهرس الموقع في the DataGridColumnCollection مجموعة.

DataGrid عنصر تحكم عدم تخزين المحتويات به Columnsمجموعة في الولاية العرض. لإضافة أو إزالة عمود بشكل حيوي، يجب أن برمجياً إضافة أو إزالة العمود في كل مرة يتم فيها تحديث الصفحة. توفر Page_Initدالة التي تضيف أو تزيل العمود قبل DataGridيمكن إعادة تحميل حالته عنصر التحكم وقم بإعادة إنشاء نفسه. Otherwهوe، يتغير إلى Columnsمجموعة لن تنعكس DataGridالتحكم عند ذلك هو dهوplayed.

ملاحظةملاحظة

على الرغم من أنه يمكنك برمجياً إضافة أعمدة إلى أو إزالة أعمدة من Columnsمجموعة من DataGridعنصر التحكم، هو أسهل lهوt الأعمدة ثابت ثم استخدم Visibleخاصية إلى dهوplay أو إخفاء كل عمود.

The following تعليمات برمجية مثال demonstrates how إلى استخدم the AddAt أسلوب إلى dynamically إضافة a عمود إلى the DataGrid عنصر تحكم. ملاحظة that the Columns خاصية of the DataGrid عنصر تحكم هو an مثيل of the DataGridColumnCollection مجموعة.


<%@ 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 language="C#" runat="server">

      DataTable Cart;
      DataView CartView;

      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_Load(Object sender, EventArgs e) 
      {

         if (Session["DG4_ShoppingCart"] == null) 
         {
            Cart = new DataTable();
            Cart.Columns.Add(new DataColumn("Item", typeof(string)));
            Cart.Columns.Add(new DataColumn("Price", typeof(string)));
            Session["DG4_ShoppingCart"] = Cart;
         }
         else 
         {
            Cart = (DataTable)Session["DG4_ShoppingCart"];
         }    
         CartView = new DataView(Cart);
         ShoppingCart.DataSource = CartView;
         ShoppingCart.DataBind();

         if (!IsPostBack) 
         {
            // Load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }

      }

      void Page_Init(Object sender, EventArgs e) 
      {

         // Create a dynamic column to add to Columns collection.
         BoundColumn NumberColumn = new BoundColumn();
         NumberColumn.HeaderText="Item Number"; 
         NumberColumn.DataField="IntegerValue";

         // Add column to Columns collection.
         ItemsGrid.Columns.AddAt(2, NumberColumn);

      }

      void Grid_CartCommand(Object sender, DataGridCommandEventArgs e) {

         DataRow dr = Cart.NewRow();

         // e.Item is the table row where the command is raised.
         // For bound columns, the value is stored in the Text property of the TableCell.
         TableCell itemCell = e.Item.Cells[2];
         TableCell priceCell = e.Item.Cells[3];
         string item = itemCell.Text;
         string price = priceCell.Text;

         if (((Button)e.CommandSource).CommandName == "AddToCart") 
         {
            dr[0] = item;
            dr[1] = price;
            Cart.Rows.Add(dr);
         }
         else 
         { 

            //Remove from Cart.

            CartView.RowFilter = "Item='" + item + "'";
            if (CartView.Count > 0) 
            {    
               CartView.Delete(0);
            }
            CartView.RowFilter = "";
         }
         ShoppingCart.DataBind();

      }

   </script>

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

   <form id="form1" runat="server">

      <h3>DataGridColumnCollection AddAt Example</h3>

      <table cellpadding="5">
         <tr valign="top">
            <td>

               <b>Product List</b>

               <asp:DataGrid id="ItemsGrid"
                    BorderColor="black"
                    BorderWidth="1"
                    CellPadding="3"
                    AutoGenerateColumns="false"
                    OnItemCommand="Grid_CartCommand"
                    runat="server">

                  <HeaderStyle BackColor="#00aaaa">
                  </HeaderStyle>

                  <Columns>

                     <asp:ButtonColumn 
                          HeaderText="Add to cart" 
                          ButtonType="PushButton" 
                          Text="Add" 
                          CommandName="AddToCart"/>

                     <asp:ButtonColumn 
                          HeaderText="Remove from cart" 
                          ButtonType="PushButton" 
                          Text="Remove" 
                          CommandName="RemoveFromCart"/>

                     <asp:BoundColumn 
                          HeaderText="Item" 
                          DataField="StringValue"/>

                     <asp:BoundColumn 
                          HeaderText="Price" 
                          DataField="CurrencyValue" 
                          DataFormatString="{0:c}">

                        <ItemStyle HorizontalAlign="right">
                        </ItemStyle>

                     </asp:BoundColumn>

                  </Columns>

               </asp:DataGrid>

            </td>
            <td>

               <b>Shopping Cart</b>

               <asp:DataGrid id="ShoppingCart" 
                    runat="server"
                    BorderColor="black"
                    BorderWidth="1"
                    GridLines="Both"
                    ShowFooter="false"
                    CellPadding="3"
                    CellSpacing="0">

                  <HeaderStyle BackColor="#00aaaa">
                  </HeaderStyle>

                </asp:DataGrid>

            </td>
         </tr>

      </table>

   </form>

</body>
</html>



نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0, 1.1, 1.0
إظهار: