DataGrid.AutoGenerateColumns Özellik

Tanım

Veri kaynağındaki her alanın denetiminde nesnelerin otomatik olarak oluşturulup oluşturulmadığını ve görüntülenip görüntülenmeyeceğini BoundColumnDataGrid belirten bir değer alır veya ayarlar.

public:
 virtual property bool AutoGenerateColumns { bool get(); void set(bool value); };
public virtual bool AutoGenerateColumns { get; set; }
member this.AutoGenerateColumns : bool with get, set
Public Overridable Property AutoGenerateColumns As Boolean

Özellik Değeri

true nesneler otomatik olarak oluşturulur ve görüntülenirse BoundColumn ; aksi takdirde , false. true varsayılan değerdir.

Örnekler

Aşağıdaki kod örneği, veri kaynağındaki AutoGenerateColumns her alan için otomatik olarak bir BoundColumn nesne oluşturmak için özelliğinin nasıl kullanılacağını gösterir.

<%@ 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">
 
      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 (!IsPostBack) 
         {
            // Need to load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }
      }
 
   </script>
 
<head runat="server">
    <title>DataGrid AutoGenerateColumns Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid AutoGenerateColumns Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="true"
           runat="server">

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

      </asp:DataGrid>
 
   </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 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_Load(sender As Object, e As EventArgs)
        
        If Not IsPostBack Then
            ' Need to load this data only once.
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
        End If
    End Sub 'Page_Load
 
   </script>
 
<head runat="server">
    <title>DataGrid AutoGenerateColumns Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid AutoGenerateColumns Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="true"
           runat="server">

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

      </asp:DataGrid>
 
   </form>
 
</body>
</html>

Açıklamalar

Veri kaynağındaki her alan için otomatik olarak bir BoundColumn nesne oluşturmak için bu özelliği kullanın. Daha sonra her alan, denetimde alanların veri kaynağında DataGrid görünme sırasına göre bir sütun olarak işlenir.

Tüm veri türleri denetime DataGrid bağlı olamaz. Bir alan desteklenmeyen bir veri türü içeriyorsa, bu alan için bir sütun oluşturulmaz. Veri kaynağı desteklenmeyen veri türüne sahip yalnızca bir sütun içeriyorsa, bir özel durum oluşturulur. Aşağıdaki tabloda denetime bağlanabilecek veri türleri gösterilmektedir.

Veri Türü Açıklama
Temel Türler , Char, Doubleve gibi System.Int32temel bir veri türü. Tam liste için bkz Type.IsPrimitive. .
Dize Bir System.String nesnesi.
DateTime Bir System.DateTime nesnesi.
Ondalık Bir System.Decimal nesnesi.

Not

Açıkça bildirilen sütunlar, otomatik olarak oluşturulan sütunlarla birlikte kullanılabilir. Her ikisi de kullanıldığında, açıkça bildirilen sütunlar önce işlenir ve ardından otomatik olarak oluşturulan sütunlar gelir. Otomatik oluşturulan sütunlar koleksiyona Columns eklenmez.

Şunlara uygulanır

Ayrıca bkz.