BaseDataList.DataSource Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk