Upravit

Sdílet prostřednictvím


HtmlSelect.DataMember Property

Definition

Gets or sets the set of data to bind to the HtmlSelect control from a DataSource property with multiple sets of data.

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

Property Value

The set of data to bind to the HtmlSelect control from a DataSource with multiple sets of data. The default value is an empty string (""), which indicates the property has not been set.

Exceptions

The DataMember property is set during the data-binding phase of the HtmlSelect control.

Examples

The following code example demonstrates how to use the DataMember property to specify a set of data to bind to the HtmlSelect control from a DataSource property with multiple sets of data.

<%@ 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>

Remarks

If the DataSource property contains multiple sets of data, use the DataMember property to specify which set of data to bind to the control. For example, if you have a System.Data.DataSet object with multiple tables, use this property to indicate which table to bind to the control.

After you have specified the data source to bind to the control, you can then specify which fields from the data source to bind to the ListItem.Text and ListItem.Value properties of each item in the control by setting the DataTextField and DataValueField properties, respectively.

Applies to

See also