all groups > asp.net webcontrols > november 2007 >
You're in the

asp.net webcontrols

group:

DataList - How to programmatically add a separator row


DataList - How to programmatically add a separator row Tony_VBACoder
11/19/2007 6:27:00 PM
asp.net webcontrols: With ASP.NET 2.0 VB.NET, how do I:

I have a multi-column (4 columns) DataList control on my WebForm that
displays sports teams for our league. The data is grouped by Division Names
where there are 4 teams per Division. When the data is displayed on the Web
Page, it will be a 4x4 (4 columns by 4 rows) grid. What I need to be able to
do is, add a separator row whenever the Division Name changes and display
that Division name such that it spans across 4 columns.

I have a stored procedure that sorts the data by Division name, so the data
is already coming in sorted by Division. All I need to be able to do is
detect when the Division name changes, and then add a new row to the DataList.

I have done something similar using a GridView control and the "Protected
Overrides Sub Render(ByVal writer As HtmlTextWriter)" event, but I can't seem
Re: DataList - How to programmatically add a separator row PJ on Development
11/22/2007 10:33:30 AM
Hi, Tony

What I use to do in such cases is more a hack than proper code, but
I'd add on the ItemDataBound event check whenever the name of the
league changes and add a Literal control to the DataListItem that
would create the proper HTML to render the line.

Although some try and err might be required to achieve the desired
result.

Regards,

Paulo Santos
http://pjondevelopment.50webs.com

On Nov 20, 12:27 am, Tony_VBACoder
[quoted text, click to view]
Re: DataList - How to programmatically add a separator row Tony_VBACoder
11/23/2007 6:46:01 PM
Could you provide me with some code on how to add a Literal Control that will
span across the columns? I have the following code in my DataList
(dlstOwners) control's ItemDataBound event that does the compare, and it
works, but I don't understand how to go about adding the Literal Control:

Private Sub dlstOwners_ItemDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.DataListItemEventArgs) Handles
dlstOwners.ItemDataBound
If (e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem) Then
Dim sDiv As String = Convert.ToString((CType(e.Item.DataItem,
DataRowView)).Row.ItemArray(4).ToString())
' Compare it to the previous one
If sDiv <> msPrevDiv Then
' Add a new separator row spanning across the 4 columns that
will display the Division
' Store it in the holding variable
msPrevDiv = sDiv
End If
End If
End Sub


[quoted text, click to view]
AddThis Social Bookmark Button