Bagikan melalui


BaseDataList.DataSource Properti

Definisi

Mendapatkan atau mengatur sumber yang berisi daftar nilai yang digunakan untuk mengisi item dalam kontrol.

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

Nilai Properti

IEnumerable Atau IListSource yang berisi kumpulan nilai yang digunakan untuk memasok data ke kontrol ini. Nilai defaultnya adalah null.

Atribut

Pengecualian

Sumber data tidak dapat diselesaikan karena nilai ditentukan untuk DataSource properti dan DataSourceID properti .

Sumber data berjenis tidak valid. Sumber data harus atau null mengimplementasikan antarmuka IEnumerable atau IListSource .

Contoh

Contoh kode berikut menunjukkan cara menggunakan DataSource properti untuk menentukan sumber data yang akan diikat ke DataGrid kontrol.

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

Keterangan

DataSource Gunakan properti untuk menentukan sumber nilai yang akan diikat ke kontrol daftar data. Sumber data harus berupa koleksi yang mengimplementasikan System.Collections.IEnumerable antarmuka (seperti System.Data.DataView, , System.Collections.ArrayListatau System.Collections.Generic.List<T>) atau IListSource antarmuka untuk mengikat kontrol yang berasal dari BaseDataList kelas . Saat mengatur DataSource properti , Anda harus menulis kode secara manual untuk melakukan pengikatan data.

Jika sumber data yang ditentukan oleh DataSource properti berisi beberapa sumber data, gunakan DataMember properti untuk menentukan sumber tertentu untuk mengikat kontrol. Misalnya, jika Anda memiliki System.Data.DataSet objek dengan beberapa tabel, Anda harus menentukan tabel mana yang akan diikat ke kontrol. Setelah Anda menentukan sumber data, gunakan DataBind metode untuk mengikat sumber data ke kontrol.

Secara bergantian, Anda dapat menggunakan DataSourceID properti untuk mengikat secara otomatis ke sumber data yang diwakili oleh kontrol sumber data. Saat Anda mengatur DataSourceID properti , kontrol daftar data secara otomatis mengikat kontrol sumber data yang ditentukan. Anda tidak perlu menulis kode yang secara eksplisit memanggil DataBind metode .

Jika nilai ditentukan untuk DataSource properti dan DataSourceID properti , ASP.NET tidak dapat menyelesaikan sumber data dan System.Web.HttpException pengecualian dilemparkan.

Properti ini tidak dapat diatur oleh tema atau tema lembar gaya. Untuk informasi selengkapnya, lihat ThemeableAttribute dan ASP.NET Tema dan Kulit.

Berlaku untuk

Lihat juga