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.

DataGrid.Columns الخاصية

Visual Studio 2010

عند DataGridخاصية هو تعيين إلى ، عنصر التحكم يفترض أن مصدر بيانات يحتوي فقط على عناصر كما يفرضها خاصية.

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

[PersistenceModeAttribute(PersistenceMode.InnerProperty)]
public virtual DataGridColumnCollection Columns { get; }

قيمة الخاصية

النوع: System.Web.UI.WebControls.DataGridColumnCollection
كل العناصر إلى رقم من عناصر المحددة بواسطة DataGridColumnCollectionعرض خاصية.DataGrid

يوضح المثال تعليمات برمجية التالي كيفية استخدام DataGridخاصية إلى تمكين الترحيل المخصص. The Columns collection contains explicitly declared columns that get rendered in the DataGrid control.

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

إذا كان الترحيل هو ممكن; otherwهوe،. Use the property إلى specify the horizontal alignment of the المحتويات of the صف. أفقي المحاذاةColumns

بإنشاء DataGridالكائن Columnsعنصر تحكم.

في حالة عدم وجود القيمة هو المحددة ل DataGridColumnخاصية، Columnsالتحكم بعناصر dهوplay 10 تشغيل الصفحة.

نوع العمود

الوصف

BoundColumn

يوضح مثال التعليمة البرمجية التالية كيف إلى إنشاء مثيل جديد من الفئة برمجياً. يظهر كل عنصر في الحقل كـ النص. يمكنك استخدام DataGridخاصية إلى عرض إدخال مستخدم، والتي قد تضمين العميل الضارة برنامج نصي.

ButtonColumn

يحصل على مجموعة من الكائنات التي تمثل خلايا صف في عنصر تحكم. This allows you to create a column of custom button controls, such as the Add or Remove button.

EditCommandColumn

استخدم هذه خاصية بشكل برمجي عنصر تحكم مجموعة من الكائنات التي تمثل خلايا من صف عنصر تحكم.

HyperLinkColumn

يمكنك برمجياً إضافة، إدراج أو إزالة كائن من مجموعة. Th هو خاصية هو يستخدم فقط عند إنشاء التحكم برمجياً.

TemplateColumn

وقت التصميم، th هو خاصية هو المعينة بواسطة المعرف الكائنات. قم بإنشاء جديد كائن عنصر تحكم.

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

لتمكين ترحيل الصفحات، قم بتعيين هذه خاصية إلى Columnsو توفر برمجية hوle Visibleحدث.

مثال التعليمة البرمجية التالية يوضح كيفية استخدام Columnsمجموعة إلى حيويا إضافة عمود إلى DataGridعنصر التحكم.


<%@ 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>DataGrid Columns Example</title>
</head>
<body>

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

      <h3>DataGrid Columns 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>





<%@ 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 < 5; 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) 
      {

         // Load sample data only once, when the page is first loaded.
         if (!IsPostBack) 
         {
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         }

      }

      void Button_Click(Object sender, EventArgs e) 
      {

         // Count the number of selected items in the DataGrid control.
         int count = 0;

         // Display the selected times.
         Message.Text = "You Selected: <br />";

         // Iterate through each item (row) in the DataGrid control and
         // determine whether it is selected.
         foreach (DataGridItem item in ItemsGrid.Items)
         {

            DetermineSelection(item, ref count);        

         }

         // If no items are selected, display the appropriate message.
         if (count == 0)
         {

            Message.Text = "No items selected";

         }

      }

      void DetermineSelection(DataGridItem item, ref int count)
      {

         // Retrieve the SelectCheckBox CheckBox control from the 
         // specified item (row) in the DataGrid control.
         CheckBox selection = (CheckBox)item.FindControl("SelectCheckBox");

         // If the item is selected, display the appropriate message and
         // increment the count of selected items.
         if (selection != null)
         {

           if (selection.Checked)
           {
              Message.Text += "- " + item.Cells[1].Text + "<br />";
              count++;
           }

         }    

      }

      void Check_Change(Object sender, EventArgs e)
      {

         // Show or hide the first column depending on the value of
         // the check box.
         if (ShowCheckBox.Checked)
         {
            ItemsGrid.Columns[0].Visible = true;
         }
         else
         {
            ItemsGrid.Columns[0].Visible = false;
         }

      }

   </script>

<head runat="server">
    <title>DataGridColumn Visible Example</title>
</head>
<body>

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

      <h3>DataGridColumn Visible Example</h3>

      Select whether to show or hide the first column.

      <br /><br />

      <b>Product List</b>

      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           ShowFooter="True"
           AutoGenerateColumns="False"
           runat="server">

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

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

         <Columns>

            <asp:BoundColumn DataField="IntegerValue"
                 Visible="True" 
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 Visible="True"  
                 HeaderText="Description"/>

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

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

            <asp:TemplateColumn HeaderText="Select Item"
                 Visible="True" >

               <ItemTemplate>

                  <asp:CheckBox id="SelectCheckBox"
                       Text="Add to Cart"
                       Checked="False"
                       runat="server"/>

               </ItemTemplate>

            </asp:TemplateColumn>

         </Columns>  

      </asp:DataGrid>

      <br /><br />

      <asp:Button id="SubmitButton"
           Text="Submit"
           OnClick = "Button_Click"
           runat="server"/>

      <br /><br />

      <asp:Label id="Message"
           runat="server"/>

      <hr />

      <asp:CheckBox id="ShowCheckBox"
           Text="Show first column"
           AutoPostBack="True"
           OnCheckedChanged="Check_Change"
           Checked="True"
           runat="server"/>

   </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
إظهار: