Most of the time when you use repeater, you want to be able to cast the datasource/dataitem, you don’t really want to do DataBinder.Eval(e.Item.DataItem, “Description”) but you want to do row.Description. It’s not hard to do that, this is the snippet
Protected Sub rptEvents_Repeater(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles rptEvents.ItemDataBound If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then 'you need to cast eh dataitem into datarowview and cast them again to strongly type dataset Dim view As DataRowView = DirectCast(e.Item.DataItem, DataRowView) Dim row As tdsEvent.EventSummaryRow = DirectCast(view.Row, tdsEvent.EventSummaryRow) If Not (row Is Nothing) Then Dim lblVenue As Label = DirectCast(e.Item.FindControl("lblVenue"), Label) Dim lblEvent As HyperLink = DirectCast(e.Item.FindControl("lblEvent"), HyperLink) Dim lblState As Label = DirectCast(e.Item.FindControl("lblState"), Label) Dim lblTime As Label = DirectCast(e.Item.FindControl("lblTime"), Label) Dim lblType As Label = DirectCast(e.Item.FindControl("lblType"), Label) Dim eventClass As String = row.ColorCode ' don't set free ' if event is not normal, set it... If Not (row.IsVenueNull()) Then lblVenue.Text = row.Venue End If If Not (row.IsEventNull()) Then lblEvent.Text = Left(row.Event, 25) + "..." lblEvent.NavigateUrl = String.Format("~/playpoker/view-event.aspx?EventID={0}&EventTypeID={1}", row.EventID.ToString(), row.EventTypeID.ToString()) End If If Not (row.IsStateNull()) Then lblState.Text = row.State End If If Not (row.IsEventTypeNull()) Then lblType.Text = row.EventType End If If Not (row.IsRegistrationTimeNull()) Then lblTime.Text = row.RegistrationTime.ToString("hh:mm tt") End If 'bind all the data... 'set class's If Not (String.IsNullOrEmpty(eventClass)) Then lblVenue.CssClass = eventClass lblEvent.CssClass = eventClass lblState.CssClass = eventClass lblTime.CssClass = eventClass lblType.CssClass = eventClass End If End If ElseIf (e.Item.ItemType = ListItemType.Header) Then Dim lnk As LinkButton = DirectCast(e.Item.FindControl("lnkVenue"), LinkButton) If Not (lnk Is Nothing) Then lnk.CommandName = "SortCommand" lnk.CommandArgument = "Venue" End If lnk = DirectCast(e.Item.FindControl("lnkEvent"), LinkButton) If Not (lnk Is Nothing) Then lnk.CommandName = "SortCommand" lnk.CommandArgument = "Event" End If lnk = DirectCast(e.Item.FindControl("lnkState"), LinkButton) If Not (lnk Is Nothing) Then lnk.CommandName = "SortCommand" lnk.CommandArgument = "State" End If lnk = DirectCast(e.Item.FindControl("lnkTime"), LinkButton) If Not (lnk Is Nothing) Then lnk.CommandName = "SortCommand" lnk.CommandArgument = "lnkTime" End If lnk = DirectCast(e.Item.FindControl("lnkType"), LinkButton) If Not (lnk Is Nothing) Then lnk.CommandName = "SortCommand" lnk.CommandArgument = "EventType" End If End If End Sub