This documentation is archived and is not being maintained.

BaseDataList.DataMember Property

Gets or sets the specific data member in a multimember data source to bind to a data listing control.

[Visual Basic]
Public Property DataMember As String
[C#]
public string DataMember {get; set;}
[C++]
public: __property String* get_DataMember();
public: __property void set_DataMember(String*);
[JScript]
public function get DataMember() : String;
public function set DataMember(String);

Property Value

A data member from a multimember data source. The default value is String.Empty.

Remarks

Use the DataMember property to specify a member from a multimember data source to bind to the list control. For example, if you have a data source, with more than one table, specified in the DataSource property, use the DataMember property to specify which table to bind to a data listing control.

Example

[Visual Basic] 

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

<html>

<head>

   <script runat="server">

      ' Create sample data for the DataGrid control with two tables,
      ' Employee and Customer.
      Function CreateDataSet() As DataSet
    
         ' Create a table to store employee values.
         Dim EmployeeTable As DataTable = New DataTable("Employee")
         Dim TempDataRow As DataRow
   
         ' Define the columns for the Employee table.
         EmployeeTable.Columns.Add( _
            New DataColumn("EmployeeName", GetType(String)))
         EmployeeTable.Columns.Add( _
            New DataColumn("EmployeeID", GetType(Integer)))

         ' Populate the Employee table.
         Dim i As Integer

         For i=1 To 5 
         
            TempDataRow = EmployeeTable.NewRow()
            TempDataRow(0) = "Employee " & i.ToString()
            TempDataRow(1) = (i+1700)

            EmployeeTable.Rows.Add(TempDataRow)

         Next

         ' Create a table to store customer values.
         Dim CustomerTable As DataTable = New DataTable("Customer")

         ' Define the columns for the Customer table.
         CustomerTable.Columns.Add( _
            New DataColumn("CustomerName", GetType(String)))
         CustomerTable.Columns.Add( _
            New DataColumn("CustomerID", GetType(Integer)))

         ' Populate the Customer table.
         For i=1 To 5  

            TempDataRow = CustomerTable.NewRow()
            TempDataRow(0) = "Customer " & i.ToString()
            TempDataRow(1) = (i+1700)

            CustomerTable.Rows.Add(TempDataRow)
         
         Next

         ' Create a DataSet and add the Employee and Customer tables.
         Dim ds As DataSet = New DataSet()
         ds.Tables.Add(EmployeeTable)
         ds.Tables.Add(CustomerTable)

         Return ds

      End Function
             
      Sub Page_Load(sender As Object, e As EventArgs) 

         ' The data source only needs to be bound to the DataList  
         ' control the first time the page is accessed.    
         If Not IsPostBack Then

            ' Create the sample data for the DataList control.
            ItemsGrid.DataSource = CreateDataSet()

            ' The data source in this example contains multiple tables.  
            ' Specify which table to display in the DataList control. 
            ItemsGrid.DataMember = "Customer"

            ' Bind the data source to the control.
            ItemsGrid.DataBind()

         End If

      End Sub

      Sub Index_Change(sender As Object, e As EventArgs) 

         ' Create the sample data for the DataList control.
         ItemsGrid.DataSource = CreateDataSet()

         ' The data source in this example contains multiple tables. 
         ' Specify which table to display in the DataList control 
         ' based on the user's selection from the DropDownList control. 
         ItemsGrid.DataMember = SourceList.SelectedItem.Text

         ' Bind the data source to the control. 
         ItemsGrid.DataBind()

      End Sub

   </script>

</head>
<body>

   <form runat="server">

      <h3> BaseDataList DataMember Example </h3>
      
      <asp:DataGrid id="ItemsGrid"
           AutoGenerateColumns="True" 
           runat="server">

         <HeaderStyle BackColor="#00aaaa"/>         

      </asp:DataGrid>

      <br><br>

      Select the data source: <br>

      <asp:DropDownList id="SourceList"
           AutoPostBack="True"
           OnSelectedIndexChanged="Index_Change"
           runat="server">

         <asp:Listitem Selected="True">Customer</asp:Listitem>
         <asp:Listitem>Employee</asp:Listitem>

      </asp:DropDownList>

   </form>
 
</body>

</html>


[C#] 

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

<html>

<head>

   <script runat="server">

      // Create sample data for the DataGrid control with two tables, 
      // Employee and Customer.
      DataSet CreateDataSet()
      {
    
         // Create a table to store employee values.
         DataTable EmployeeTable = new DataTable("Employee");
         DataRow TempDataRow;
   
         // Define the columns for the Employee table.
         EmployeeTable.Columns.Add(
            new DataColumn("EmployeeName", typeof(string)));
         EmployeeTable.Columns.Add(
            new DataColumn("EmployeeID", typeof(int)));

         // Populate the Employee table.
         for (int i=1; i<=5; i++) 
         {
            TempDataRow = EmployeeTable.NewRow();
            TempDataRow[0] = "Employee " + i.ToString();
            TempDataRow[1] = (i+1700);

            EmployeeTable.Rows.Add(TempDataRow);
         }

         // Create a table to store customer values.
         DataTable CustomerTable = new DataTable("Customer");

         // Define the columns for the Customer table.
         CustomerTable.Columns.Add(
            new DataColumn("CustomerName", typeof(string)));
         CustomerTable.Columns.Add(
            new DataColumn("CustomerID", typeof(int)));

         // Populate the Customer table.
         for (int i=1; i<=5; i++) 
         {
            TempDataRow = CustomerTable.NewRow();
            TempDataRow[0] = "Customer " + i.ToString();
            TempDataRow[1] = (i+1700);

            CustomerTable.Rows.Add(TempDataRow);
         }

         // Create a DataSet and add the Employee and Customer tables.
         DataSet ds = new DataSet();
         ds.Tables.Add(EmployeeTable);
         ds.Tables.Add(CustomerTable);

         return ds;

      }
             
      void Page_Load(Object sender, EventArgs e) 
      {

         // The data source only needs to be bound to the DataList  
         // control the first time the page is accessed.    
         if(!IsPostBack)
         {

            // Create the sample data for the DataList control.
            ItemsGrid.DataSource = CreateDataSet();

            // The data source in this example contains multiple tables. 
            // Specify which table to display in the DataList control. 
            ItemsGrid.DataMember = "Customer";

            // Bind the data source to the control.
            ItemsGrid.DataBind();

         }

      }

      void Index_Change(Object sender, EventArgs e) 
      {

         // Create the sample data for the DataList control.
         ItemsGrid.DataSource = CreateDataSet();

         // The data source in this example contains multiple tables. 
         // Specify which table to display in the DataList control 
         // based on the user's selection from the DropDownList control. 
         ItemsGrid.DataMember = SourceList.SelectedItem.Text;

         // Bind the data source to the control. 
         ItemsGrid.DataBind();

      }

   </script>

</head>
<body>

   <form runat="server">

      <h3> BaseDataList DataMember Example </h3>
      
      <asp:DataGrid id="ItemsGrid"
           AutoGenerateColumns="True" 
           runat="server">

         <HeaderStyle BackColor="#00aaaa"/>         

      </asp:DataGrid>

      <br><br>

      Select the data source: <br>

      <asp:DropDownList id="SourceList"
           AutoPostBack="True"
           OnSelectedIndexChanged="Index_Change"
           runat="server">

         <asp:Listitem Selected="True">Customer</asp:Listitem>
         <asp:Listitem>Employee</asp:Listitem>

      </asp:DropDownList>

   </form>
 
</body>

</html>

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

See Also

BaseDataList Class | BaseDataList Members | System.Web.UI.WebControls Namespace | DataSource

Show: