BaseDataList.DataSource Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen der Quelle, die eine Liste von Werten enthält, die zum Auffüllen der Elemente innerhalb des Steuerelements verwendet werden.
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
Eigenschaftswert
Eine IEnumerable oder IListSource eine Sammlung von Werten, die zum Bereitstellen von Daten für dieses Steuerelement verwendet werden. Der Standardwert ist null.
- Attribute
Ausnahmen
Die Datenquelle kann nicht aufgelöst werden, da ein Wert sowohl für die DataSource Eigenschaft als auch für die DataSourceID Eigenschaft angegeben wird.
Die Datenquelle weist einen ungültigen Typ auf. Die Datenquelle muss entweder die IEnumerable Schnittstelle oder die IListSource Schnittstelle sein null oder implementieren.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die DataSource Eigenschaft verwendet wird, um die Datenquelle anzugeben, die an ein DataGrid Steuerelement gebunden werden soll.
<%@ 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>
Hinweise
Verwenden Sie die DataSource Eigenschaft, um die Quelle von Werten anzugeben, die an ein Datenauflistungssteuerelement gebunden werden sollen. Eine Datenquelle muss eine Auflistung sein, die entweder die System.Collections.IEnumerable Schnittstelle (z System.Data.DataView. B. , System.Collections.ArrayListoder System.Collections.Generic.List<T>) oder die IListSource Schnittstelle implementiert, die an ein von der BaseDataList Klasse abgeleitetes Steuerelement gebunden werden soll. Wenn Sie die DataSource Eigenschaft festlegen, müssen Sie den Code manuell schreiben, um die Datenbindung auszuführen.
Wenn die durch die DataSource Eigenschaft angegebene Datenquelle mehrere Datenquellen enthält, verwenden Sie die DataMember Eigenschaft, um die spezifische Quelle anzugeben, die an das Steuerelement gebunden werden soll. Wenn Sie z. B. über ein System.Data.DataSet Objekt mit mehreren Tabellen verfügen, müssen Sie angeben, welche Tabelle an das Steuerelement gebunden werden soll. Nachdem Sie die Datenquelle angegeben haben, verwenden Sie die DataBind Methode, um die Datenquelle an das Steuerelement zu binden.
Alternativ können Sie die DataSourceID Eigenschaft verwenden, um automatisch eine Bindung an eine Datenquelle zu erstellen, die durch ein Datenquellensteuerelement dargestellt wird. Wenn Sie die DataSourceID Eigenschaft festlegen, wird das Datenauflistungssteuerelement automatisch an das angegebene Datenquellensteuerelement gebunden. Sie müssen keinen Code schreiben, der die DataBind Methode explizit aufruft.
Wenn Werte sowohl für die DataSource Eigenschaft als auch für die DataSourceID Eigenschaft angegeben werden, kann ASP.NET die Datenquelle nicht auflösen und eine System.Web.HttpException Ausnahme ausgelöst wird.
Diese Eigenschaft kann nicht durch Designs oder Stylesheetdesigns festgelegt werden. Weitere Informationen finden Sie unter ThemeableAttribute und ASP.NET Designs und Skins.