You're here: Snippet Directory » Microsoft .NET (152)
Language:

DataList rendert SeparatorTermplate falsch

Language: Deutsch
Programming Language: ASP.NET
Published by: Thomas
Last Update: 12/2/2007
Views: 1

License: Public Domain

Description

Das DataList-Control rendert (getestet in ASP.NET 2.0) das Separator-Template falsch. Und zwar falsch in dem Sinne, dass es schlicht "Umbrüche" ignoriert, wenn man als Layout table verwendet.

Beispiel:

Man möchte in einer Tabelle vier Spalten haben, getrennt durch eine Platzhalter-Spalte, die man via SeparatorTemplate definiert. Dazu sollte es genügen die nötigen Templates anzulegen und RepeatColumns auf 4 zu setzen. Im Ergebnis müssten jetzt also 7 Spalten gerendert werden - 4 Content-Spalten und 3 Platzhalter-Spalten:

Content | Content | Content | Content

Das DataList-Control rendert allerdings 8 Spalten - weil es den Umbruch nach dem 4. Item ignoriert.

Content | Content | Content | Content |

Beim Float-Layout wäre das in Ordnung, nicht aber beim Table-Layout. Behelfen kann man sich durch eine Methode, die das überflüssige Item einfach wieder entfernt:

Code

1 protected void RProducts_OnItemDataBound(object sender, DataListItemEventArgs e) 2 { 3 if (e.Item.ItemType == ListItemType.Separator) 4 { 5 if(((e.Item.ItemIndex +1) % 4) == 0) 6 e.Item.Controls.Clear(); 7 } 8 }

No comments avaiable

Add a comment

Name *  

Email (won't be displayed) *    

Website  

Comment *  

Sicherheitscode Security Code *    

RSS