Sdílet prostřednictvím


HtmlSelect.DataSource Vlastnost

Definice

Získá nebo nastaví zdroj informací pro vazbu k ovládacímu HtmlSelect prvku.

public:
 virtual property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
public virtual object DataSource { get; set; }
member this.DataSource : obj with get, set
Public Overridable Property DataSource As Object

Hodnota vlastnosti

Object

Nebo IEnumerable IListSource obsahující kolekci hodnot používaných k poskytování dat tomuto ovládacímu prvku. Výchozí hodnota je null.

Výjimky

Zadaný zdroj dat není kompatibilní s ani IEnumerable IListSources ním a není null.

Zdroj dat nelze přeložit, protože hodnota je určena pro DataSource vlastnost i DataSourceID vlastnost.

Příklady

Následující příklad kódu ukazuje, jak použít DataSource vlastnost k určení zdroje informací pro vazbu s ovládacím HtmlSelect prvku.

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<!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" >

<head>
    <title> HtmlSelect Example </title>
<script runat="server">

      void Page_Load (Object sender, EventArgs e)
      {

        // Bind the HtmlSelect control to a data source when the page is initially loaded.
        if (!IsPostBack)
        {
      
           // Open a connection to the database and run the query.
           // Note that the connection string may vary depending on your
           // database server settings. 
           string ConnectString = "server=localhost;database=pubs;integrated security=SSPI";
           string QueryString = "select * from authors";

           SqlConnection myConnection = new SqlConnection(ConnectString);
           SqlDataAdapter myCommand = new SqlDataAdapter(QueryString, myConnection);

           // Create a dataset to store the query results.
           DataSet ds = new DataSet();
           myCommand.Fill(ds, "Authors");

           // Bind the HtmlSelect control to the data source.
           Select1.DataSource = ds;
           Select1.DataTextField = "au_fname";
           Select1.DataValueField = "au_fname";
           Select1.DataBind();
        }

      }

      void Button_Click (Object sender, EventArgs e)
      {
       
         // Display the selected items. 
         Label1.Text = "You selected:";

         for (int i=0; i<=Select1.Items.Count - 1; i++)
         {
            if (Select1.Items[i].Selected)
               Label1.Text += "<br />    - " + Select1.Items[i].Text;
         }

      }

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3> HtmlSelect Example </h3>

      Select items from the list. <br />
      Use the Control or Shift key to select multiple items. <br /><br />

      <select id="Select1"
              multiple="true" 
              runat="server"/>

      <br /><br />

      <button id="Button1"
              onserverclick="Button_Click"
              runat="server">

         Submit

      </button>

      <br /><br />

      <asp:Label id="Label1"
           runat="server"/>

   </form>

</body>

</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<!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" >

<head>
    <title> HtmlSelect Example </title>
<script runat="server">

      Sub Page_Load (sender As Object, e As EventArgs)
  
        ' Bind the HtmlSelect control to a data source when the page is initially loaded.
        If Not IsPostBack Then
        
           ' Open a connection to the database and run the query.
           ' Note that the connection string may vary depending on your
           ' database server settings.
           Dim ConnectString As String = "server=localhost;database=pubs;integrated security=SSPI"
           Dim QueryString As String = "select * from authors"

           Dim myConnection As SqlConnection = New SqlConnection(ConnectString)
           Dim myCommand As SqlDataAdapter = New SqlDataAdapter(QueryString, myConnection)

           ' Create a dataset to store the query results.
           Dim ds As DataSet = New DataSet()
           myCommand.Fill(ds, "Authors")

           ' Bind the HtmlSelect control to the data source.
           Select1.DataSource = ds
           Select1.DataTextField = "au_fname"
           Select1.DataValueField = "au_fname"
           Select1.DataBind()
        
        End If

      End Sub

      Sub Button_Click (sender As Object, e As EventArgs)
        
         Dim i As Integer

         Label1.Text = "You selected:"

         For i = 0 To Select1.Items.Count - 1
         
            If Select1.Items(i).Selected Then
               Label1.Text = Label1.Text & "<br />    - " & Select1.Items(i).Text
            End If

         Next i

      End Sub

   </script>

</head>

<body>

   <form id="form1" runat="server">

      <h3> HtmlSelect Example </h3>

      Select items from the list. <br />
      Use the Control or Shift key to select multiple items. <br /><br />

      <select id="Select1"
              multiple="true" 
              runat="server"/>

      <br /><br />

      <button id="Button1"
              onserverclick="Button_Click"
              runat="server">

         Submit

      </button>

      <br /><br />

      <asp:Label id="Label1"
           runat="server"/>

   </form>

</body>

</html>

Poznámky

DataSource Pomocí vlastnosti určete zdroj dat, který se má svázat s ovládacím HtmlSelect prvek. Zdroj dat musí být kolekce, která implementuje System.Collections.IEnumerable rozhraní (například System.Data.DataView, System.Collections.ArrayListnebo ) nebo System.Collections.Generic.List<T>IListSource rozhraní. Při nastavování DataSource vlastnosti je nutné ručně napsat kód pro provedení datové vazby.

Pokud zdroj dat obsahuje více sad dat, například System.Data.DataSet objekt s více tabulkami, použijte DataMember vlastnost k určení, která datová sada se má svázat s ovládacím prvek.

Můžete určit, která pole ze zdroje dat se mají svázat s ListItem.Text vlastnostmi ListItem.Value jednotlivých položek v ovládacím prvku nastavením DataTextField a DataValueField vlastnostmi.

Alternativně můžete vlastnost použít DataSourceID k automatické vazbě ke zdroji dat reprezentovaným ovládacím prvek zdroje dat. Když nastavíte vlastnost, ovládací prvek výpisu DataSourceID dat automaticky vytvoří vazbu na zadaný ovládací prvek zdroje dat. Nemusíte psát kód, který explicitně volá metodu DataBind .

Pokud jsou pro vlastnost i DataSourceID vlastnost zadány DataSource hodnoty, ASP.NET nemůže přeložit zdroj dat a System.Web.HttpException vyvolá se výjimka.

Platí pro

Viz také