HtmlSelect.DataMember Propriedade

Definição

Obtém ou define o conjunto de dados para se ligar ao HtmlSelect controlo a partir de uma DataSource propriedade com múltiplos conjuntos de dados.

public:
 virtual property System::String ^ DataMember { System::String ^ get(); void set(System::String ^ value); };
public virtual string DataMember { get; set; }
member this.DataMember : string with get, set
Public Overridable Property DataMember As String

Valor de Propriedade

O conjunto de dados a ligar ao HtmlSelect controlo a partir de um DataSource com múltiplos conjuntos de dados. O valor padrão é uma cadeia vazia (""), o que indica que a propriedade não foi definida.

Exceções

A DataMember propriedade é definida durante a fase de ligação de dados do HtmlSelect controlo.

Exemplos

O exemplo de código seguinte demonstra como usar a DataMember propriedade para especificar um conjunto de dados a ligar ao HtmlSelect controlo a partir de uma DataSource propriedade com múltiplos conjuntos de dados.

<%@ 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)
         {
      
            // Create a data set to store the tables.
            DataSet ds = new DataSet("TitleDataSet");
            DataRow dr; 

            // Create the authors table with a single column.
            DataTable authors = new DataTable("Authors");            
            authors.Columns.Add(new DataColumn("LName", typeof(string)));                    
 
            // Add the authors table to the data set.
            ds.Tables.Add(authors);

            // Create sample data in the authors table.
            for (int i = 0; i < 9; i++) 
            {
               // Create a new row for the authors table.
               dr = authors.NewRow();

               // Add data to the LName column (column 0 in the row).
               dr[0] = "Author " + i.ToString();

               // Insert the row into the authors table.   
               authors.Rows.Add(dr);
            }
  
            // Create the titles table with a single column.
            DataTable titles = new DataTable("Titles");            
            titles.Columns.Add(new DataColumn("BookTitle", typeof(string)));                    
 
            // Add the titles table to the data set.
            ds.Tables.Add(titles);

            // Create sample data in the titles table.
            for (int i = 0; i < 9; i++) 
            {
               // Create a new row for the titles table.
               dr = titles.NewRow();

               // Add data to the BookTitle column (column 0 in the row).
               dr[0] = "Title " + i.ToString();

              // Insert the row into the titles table.   
              titles.Rows.Add(dr);
            }

            // Bind the HtmlSelect control to the data source.
            Select1.DataSource = ds;
            Select1.DataMember = "Titles";
            Select1.DataTextField = "BookTitle";
            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" %>

<!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
 
            Dim i As Integer
      
            ' Create a data set to store the tables.
            Dim ds As DataSet = New DataSet("TitleDataSet")
            Dim dr As DataRow 

            ' Create the authors table with a single column.
            Dim authors As DataTable = New DataTable("Authors")            
            authors.Columns.Add(New DataColumn("LName", GetType(String)))                    
 
            ' Add the authors table to the data set.
            ds.Tables.Add(authors)

            ' Create sample data in the authors table.
            For i = 0 To 9 
           
               ' Create a new row for the authors table.
               dr = authors.NewRow()

               ' Add data to the LName column (column 0 in the row).
               dr(0) = "Author " & i.ToString()

               ' Insert the row into the authors table.   
               authors.Rows.Add(dr)

            Next i
  
            ' Create the titles table with a single column.
            Dim titles As DataTable = New DataTable("Titles")            
            titles.Columns.Add(New DataColumn("BookTitle", GetType(String)))                    
 
            ' Add the titles table to the data set.
            ds.Tables.Add(titles)

            ' Create sample data in the titles table.
            For i = 0 To 9
            
               ' Create a new row for the titles table.
               dr = titles.NewRow()

               ' Add data to the BookTitle column (column 0 in the row).
               dr(0) = "Title " & i.ToString()

               ' Insert the row into the titles table.   
               titles.Rows.Add(dr)

            Next i

            ' Bind the HtmlSelect control to the data source.
            Select1.DataSource = ds
            Select1.DataMember = "Titles"
            Select1.DataTextField = "BookTitle"
            Select1.DataBind()

         End If

      End Sub

      Sub Button_Click (sender As Object, e As EventArgs)

         Dim i As Integer
       
         ' Display the selected items. 
         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>

Observações

Se a DataSource propriedade contiver múltiplos conjuntos de dados, use a DataMember propriedade para especificar qual conjunto de dados deve associar ao controlo. Por exemplo, se tiver um System.Data.DataSet objeto com várias tabelas, use esta propriedade para indicar qual tabela deve associar ao controlo.

Depois de especificar a fonte de dados a ligar ao controlo, pode então especificar quais os campos da fonte de dados a associar às ListItem.Text propriedades e ListItem.Value de cada item no controlo, definindo as DataTextField propriedades e DataValueField respetivamente.

Aplica-se a

Ver também