Repeater.DataMember Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.