Accessing array data with Repeater

  • Thread starter Thread starter Roshawn
  • Start date Start date
R

Roshawn

Hi,

I have a Repeater control that is databound to an array. This array
contains data regarding products (ie. Name, Price, Manufacturer, etc.).

I am wondering how do I display data in a control that is contained in the
Repeater's ItemTemplate?
Here's my example code:

Sub BindToArray()
'code for the array omitted here
Me.Repeater1.DataSource = products
Me.Repeater1.DataBind()
End Sub

<asp:Repeater>
<ItemTemplate>
<!-- say that I wanted to bind to the Name field of the array
<asp:Label id=Label1 Text=<%#
Container.DataItem("Name")%>></asp:Label>
</ItemTemplate>
</asp:Repeater>

Would this code work?

Roshawn
 
Hi Roshawn,

If you expose the fields you want to display as public properties then
one way to reach them is with the DataBinder.Eval method.

For example, imagine an array of objects of the following class class
(in C# but gives you the idea):

class Department
{
public Department(string name, string description)
{
this.name = name;
Description = description;
}

public string Name
{
get { return name; }
set { name = value; }
}

public string Description
{
get { return description; }
set { description = value; }
}

protected string name;
protected string description;

}

Then you can display them in a repeater item template using:

<%# DataBinder.Eval(Container.DataItem, "Name") %>

HTH,
 
Ooh, that sample class was ugly. I was experimenting with fields
versus properties. Please ignore the goofy looking destructor - I'm
glad the big concept came through.

Best of luck!

--s
 
Oh man, I meant goofy looking CONstructor - not destructor. It's
Friday but I don't think I've had anything to drink yet!

--s
 
Back
Top