BaseDataList.DataSource Eigenschaft

Definition

Ruft die Quelle mit einer Werteliste ab, die zum Auffüllen der Elemente im Steuerelement verwendet wird, oder legt diese fest.Gets or sets the source containing a list of values used to populate the items within the control.

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; }
member this.DataSource : obj with get, set
Public Overridable Property DataSource As Object

Eigenschaftswert

Ein IEnumerable oder ein IListSource, das eine Werteauflistung zum Bereitstellen von Daten für dieses Steuerelement enthält.An IEnumerable or IListSource that contains a collection of values used to supply data to this control. Standardwert: null.The default value is null.

Attribute

Ausnahmen

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.The data source cannot be resolved because a value is specified for both the DataSource property and the DataSourceID property.

Die Datenquelle hat einen ungültigen Typ.The data source is of an invalid type. Die Datenquelle muss null sein oder entweder die IEnumerable-Schnittstelle oder die IListSource-Schnittstelle implementieren.The data source must be null or implement either the IEnumerable or the IListSource interface.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die DataSource-Eigenschaft verwendet wird, um die Datenquelle anzugeben, die an ein DataGrid-Steuerelement gebunden werden soll.The following code example demonstrates how to use the DataSource property to specify the data source to bind to a DataGrid control.

<%@ 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 Eigenschaft DataSource, um die Quelle der Werte anzugeben, die an ein Daten Auflistungs Steuerelement gebunden werden.Use the DataSource property to specify the source of values to bind to a data listing control. Bei einer Datenquelle muss es sich um eine Auflistung handeln, die entweder die System.Collections.IEnumerable-Schnittstelle (z. b. System.Data.DataView, System.Collections.ArrayListoder System.Collections.Generic.List<T>) oder die IListSource Schnittstelle zum Binden an ein von der BaseDataList-Klasse abgeleitetes Steuerelement implementiert.A data source must be a collection that implements either the System.Collections.IEnumerable interface (such as System.Data.DataView, System.Collections.ArrayList, or System.Collections.Generic.List<T>) or the IListSource interface to bind to a control derived from the BaseDataList class. Wenn Sie die DataSource-Eigenschaft festlegen, müssen Sie den Code manuell schreiben, um die Datenbindung auszuführen.When you set the DataSource property, you must manually write the code to perform data binding.

Wenn die von der DataSource-Eigenschaft angegebene Datenquelle mehrere Datenquellen enthält, verwenden Sie die DataMember-Eigenschaft, um die Quelle anzugeben, die an das Steuerelement gebunden werden soll.If the data source specified by the DataSource property contains multiple sources of data, use the DataMember property to specify the specific source to bind to the control. 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.For example, if you have a System.Data.DataSet object with multiple tables, you must specify which table to bind to the control. Nachdem Sie die Datenquelle angegeben haben, verwenden Sie die DataBind-Methode, um die Datenquelle an das-Steuerelement zu binden.After you have specified the data source, use the DataBind method to bind the data source to the control.

Alternativ können Sie die DataSourceID-Eigenschaft verwenden, um automatisch eine Bindung an eine Datenquelle herzustellen, die durch ein Datenquellen-Steuerelement dargestellt wird.Alternately, you can use the DataSourceID property to automatically bind to a data source represented by a data source control. Wenn Sie die DataSourceID-Eigenschaft festlegen, bindet das Daten Auflistungs Steuerelement automatisch an das angegebene Datenquellen-Steuerelement.When you set the DataSourceID property, the data listing control automatically binds to the specified data source control. Sie müssen keinen Code schreiben, der explizit die DataBind-Methode aufruft.You do not need to write code that explicitly calls the DataBind method.

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 es wird eine System.Web.HttpException-Ausnahme ausgelöst.If values are specified for both the DataSource property and the DataSourceID property, ASP.NET is not able to resolve the data source and an System.Web.HttpException exception is thrown.

Diese Eigenschaft kann nicht durch Designs oder Stylesheetdesigns festgelegt werden.This property cannot be set by themes or style sheet themes. Weitere Informationen finden Sie unter ThemeableAttribute und ASP.NET-Designs und Skins.For more information, see ThemeableAttribute and ASP.NET Themes and Skins.

Gilt für:

Siehe auch