BaseDataList.DataSource Özellik

Tanım

Denetim içindeki öğeleri doldurmak için kullanılan değerlerin listesini içeren kaynağı alır veya ayarlar.

public:
 virtual property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.Bindable(true)]
public virtual object DataSource { get; set; }
[System.ComponentModel.Bindable(true)]
[System.Web.UI.Themeable(false)]
public virtual object DataSource { get; set; }
[<System.ComponentModel.Bindable(true)>]
member this.DataSource : obj with get, set
[<System.ComponentModel.Bindable(true)>]
[<System.Web.UI.Themeable(false)>]
member this.DataSource : obj with get, set
Public Overridable Property DataSource As Object

Özellik Değeri

IEnumerable Bu denetime veri sağlamak için kullanılan bir değer koleksiyonunu içeren veyaIListSource. null varsayılan değerdir.

Öznitelikler

Özel durumlar

Hem özellik hem DataSourceID de DataSource özellik için bir değer belirtildiğinden veri kaynağı çözümlenemiyor.

Veri kaynağı geçersiz türde. Veri kaynağı veya arabirimi olmalıdır null veya uygulamalıdır IEnumerableIListSource .

Örnekler

Aşağıdaki kod örneği, bir denetime bağlanacak DataGrid veri kaynağını belirtmek için özelliğinin nasıl kullanılacağını DataSource 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) 
         {
            // Load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }
      }
 
   </script>
 
<head runat="server">
    <title>DataGrid Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid 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
            ' Load this data only once.
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
        End If
    End Sub 'Page_Load
 
  </script>
 
<head runat="server">
    <title>DataGrid Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGrid 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

DataSource Bir veri listesi denetimine bağlanacak değerlerin kaynağını belirtmek için özelliğini kullanın. Veri kaynağı, sınıfından System.Collections.IEnumerable türetilen BaseDataList bir denetime bağlanmak için arabirimini (, veya System.Collections.Generic.List<T>) System.Collections.ArrayListSystem.Data.DataViewya da IListSource arabirimini uygulayan bir koleksiyon olmalıdır. özelliğini ayarladığınızda DataSource , veri bağlama gerçekleştirmek için kodu el ile yazmanız gerekir.

özelliği tarafından DataSource belirtilen veri kaynağı birden çok veri kaynağı içeriyorsa, denetimi bağlamak üzere belirli kaynağı belirtmek için özelliğini kullanın DataMember . Örneğin, birden çok tablo içeren bir System.Data.DataSet nesneniz varsa, denetime hangi tablonun bağlanacağını belirtmeniz gerekir. Veri kaynağını belirttikten sonra, veri kaynağını denetime bağlamak için yöntemini kullanın DataBind .

Alternatif olarak, bir veri kaynağı denetimi tarafından temsil edilen bir veri kaynağına otomatik olarak bağlanmak için özelliğini kullanabilirsiniz DataSourceID . özelliğini ayarladığınızda DataSourceID , veri listeleme denetimi otomatik olarak belirtilen veri kaynağı denetimine bağlanır. yöntemini açıkça çağıran DataBind kod yazmanız gerekmez.

Hem özellik hem de DataSource özellik DataSourceID için değerler belirtilirse, ASP.NET veri kaynağını çözümleyemez ve bir System.Web.HttpException özel durum oluşturulur.

Bu özellik temalar veya stil sayfası temaları tarafından ayarlanamaz. Daha fazla bilgi için bkz ThemeableAttribute . temalar ve dış görünümler ASP.NET.

Şunlara uygulanır

Ayrıca bkz.