Редагувати

Поділитися через


Repeater.DataMember Property

Definition

Gets or sets the specific table in the DataSource to bind to the control.

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

A string that specifies a table in the DataSource.

Examples

The following example demonstrates how to use the DataMember property to specify a table in the DataSource to bind to the Repeater 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" >
 <head>
    <title>Repeater Example</title>
<script language="C#" runat="server">
       void Page_Load(Object Sender, EventArgs e) {
 
          if (!IsPostBack) {
 
             DataTable dt1 = new DataTable("Dt1");
 
             DataRow dr;
  
             dt1.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
             dt1.Columns.Add(new DataColumn("StringValue", typeof(string)));
             dt1.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
          
             DataSet ds= new DataSet("ds1");            
 
             ds.Tables.Add(dt1);
 
             for (int i = 0; i < 9; i++) {
                dr = dt1.NewRow();
 
                dr[0] = i;
                dr[1] = "Item " + i.ToString();
                dr[2] = 1.23 * (i+1);
   
                dt1.Rows.Add(dr);
             }
 
             DataTable dt2 = new DataTable("Dt2");
  
             dt2.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
             dt2.Columns.Add(new DataColumn("StringValue", typeof(string)));
             dt2.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));           
 
             ds.Tables.Add(dt2);
 
             for (int i = 0; i < 9; i++) {
                dr = dt2.NewRow();
 
                dr[0] = i;
                dr[1] = "Item " + i.ToString();
                dr[2] = 4.56 * (i+1);
   
                dt2.Rows.Add(dr);
             }
 
             Repeater1.DataSource = ds;
             Repeater1.DataMember = "Dt1";
             Repeater1.DataBind();
 
          }
       }
 
    </script>
 
 </head>
 <body>
 
    <h3>Repeater Example</h3>
 
    <form id="form1" runat="server">
 
       <b>Repeater1:</b>
       <br />
         
       <asp:Repeater id="Repeater1" runat="server">
             
          <HeaderTemplate>
             <table border="1">
          </HeaderTemplate>
 
          <ItemTemplate>
             <tr>
                <td> 
                   <%# DataBinder.Eval(Container.DataItem, "StringValue") %> 
                </td>
                <td> 
                   <%# DataBinder.Eval(Container.DataItem, "CurrencyValue") %> 
                </td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
         
    </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>Repeater Example</title>
<script language="VB" runat="server">

    Sub Page_Load(Sender As Object, e As EventArgs)
        
        If Not IsPostBack Then
            
            Dim dt1 As New DataTable("Dt1")
            
            Dim dr As DataRow
            
            dt1.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
            dt1.Columns.Add(New DataColumn("StringValue", GetType(String)))
            dt1.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
            
            Dim ds As New DataSet("ds1")
            
            ds.Tables.Add(dt1)
            
            Dim i As Integer
            For i = 0 To 8
                dr = dt1.NewRow()
                
                dr(0) = i
                dr(1) = "Item " + i.ToString()
                dr(2) = 1.23 *(i + 1)
                
                dt1.Rows.Add(dr)
            Next i
            
            Dim dt2 As New DataTable("Dt2")
            
            dt2.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
            dt2.Columns.Add(New DataColumn("StringValue", GetType(String)))
            dt2.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
            
            ds.Tables.Add(dt2)
            
            For i = 0 To 8
                dr = dt2.NewRow()
                
                dr(0) = i
                dr(1) = "Item " + i.ToString()
                dr(2) = 4.56 *(i + 1)
                
                dt2.Rows.Add(dr)
            Next i
            
            Repeater1.DataSource = ds
            Repeater1.DataMember = "Dt1"
            Repeater1.DataBind()
        End If 
    End Sub
 
    </script>
 
 </head>
 <body>
 
    <h3>Repeater Example</h3>
 
    <form id="form1" runat="server">
 
       <b>Repeater1:</b>
       <br />
         
       <asp:Repeater id="Repeater1" runat="server">
             
          <HeaderTemplate>
             <table border="1">
          </HeaderTemplate>
 
          <ItemTemplate>
             <tr>
                <td> 
                   <%# DataBinder.Eval(Container.DataItem, "StringValue") %> 
                </td>
                <td> 
                   <%# DataBinder.Eval(Container.DataItem, "CurrencyValue") %> 
                </td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
         
    </form>
 </body>
 </html>

Remarks

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. For example, if you have a System.Data.DataSet with multiple tables, you must specify which table to bind to the control. After you have specified the data source, use the DataBind method to bind the data source to the control.

The value of this property is stored in view state.

Applies to

See also