Freigeben über


BaseDataList.DataSource-Eigenschaft

Ruft die Quelle mit einer Werteliste ab, die zum Auffüllen der Elemente im Steuerelement verwendet wird, oder legt diese fest.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
<BindableAttribute(True)> _
<ThemeableAttribute(False)> _
Public Overridable Property DataSource As Object
'Usage
Dim instance As BaseDataList
Dim value As Object

value = instance.DataSource

instance.DataSource = value
[BindableAttribute(true)] 
[ThemeableAttribute(false)] 
public virtual Object DataSource { get; set; }
[BindableAttribute(true)] 
[ThemeableAttribute(false)] 
public:
virtual property Object^ DataSource {
    Object^ get ();
    void set (Object^ value);
}
/** @property */
public Object get_DataSource ()

/** @property */
public void set_DataSource (Object value)
public function get DataSource () : Object

public function set DataSource (value : Object)

Eigenschaftenwert

Ein IEnumerable oder ein IListSource, das eine Werteauflistung zum Bereitstellen von Daten für dieses Steuerelement enthält. Der Standardwert ist NULL (Nothing in Visual Basic).

Ausnahmen

Ausnahmetyp Bedingung

HttpException

Die Datenquelle kann nicht aufgelöst werden, weil sowohl für die DataSource-Eigenschaft als auch für die DataSourceID-Eigenschaft ein Wert angegeben wurde.

Hinweise

Geben Sie mithilfe der DataSource-Eigenschaft die Quelle der Werte an, die an ein Datenauflistungssteuerelement gebunden werden sollen. Eine Datenquelle muss ein Objekt sein, das entweder die System.Collections.IEnumerable-Schnittstelle implementiert (z. B. System.Data.DataView, System.Collections.ArrayList, oder System.Collections.Hashtable) oder die IListSource-Schnittstelle, damit die Bindung an ein von der BaseDataList-Klasse abgeleitetes Steuerelement ausgeführt werden kann. Wenn Sie die DataSource-Eigenschaft festlegen, müssen Sie den Code zum Durchführen der Datenbindung manuell schreiben.

Wenn die von der DataSource-Eigenschaft angegebene Datenquelle mehrere Datenquellen enthält, geben Sie mithilfe der DataMember-Eigenschaft die bestimmte Quelle an, die an das Steuerelement gebunden werden soll. Bei einem System.Data.DataSet-Objekt mit mehreren Tabellen müssen Sie z. B. angeben, welche Tabelle an das Steuerelement gebunden werden soll. Nachdem Sie die Datenquelle angegeben haben, binden Sie diese mithilfe der DataBind-Methode an das Steuerelement.

Sie können auch mit der DataSourceID-Eigenschaft automatisch eine Bindung zu einer durch ein Datenquellen-Steuerelement dargestellten Datenquelle herstellen. Wenn Sie die DataSourceID-Eigenschaft festlegen, wird das Datenlistensteuerelement automatisch an das angegebene Datenquellen-Steuerelement gebunden. Sie müssen keinen Code schreiben, der die DataBind-Methode explizit aufruft.

Wenn sowohl für die DataSource-Eigenschaft als auch für die DataSourceID-Eigenschaft Werte angegeben werden, kann ASP.NET die Datenquelle nicht auflösen, und es wird eine System.Web.HttpException-Ausnahme ausgelöst.

Diese Eigenschaft kann nicht von Designs oder Stylesheetdesigns festgelegt werden. Weitere Informationen finden Sie unter ThemeableAttribute und Übersicht über ASP.NET-Designs und ASP.NET-Skins.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie mit der DataSource-Eigenschaft die Datenquelle angegeben wird, die an ein DataGrid-Steuerelement gebunden werden soll.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <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>
 
<body>
 
   <form 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="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <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>
 
<body>
 
   <form 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>

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

BaseDataList-Klasse
BaseDataList-Member
System.Web.UI.WebControls-Namespace
System.Collections.IEnumerable
IListSource
System.Data.DataView
System.Collections.ArrayList
System.Collections.Hashtable
System.Data.DataSet
DataSourceID