webForumDet fria alternativet

Färg på varannan rad i en

.NET

11 svar · 453 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Finns det något smart sätt med asp.net och en repeater att få varannan rad i en viss färg när man skriver ut det med <ItemTemplate>, borde ju vara en sådan sak som de har byggt in från början

Tacksam

Medlem sedan jan. 20011 140 inlägg
#2

<alternatingitemtemplate> borde väl fungera

Medlem sedan apr. 20012 266 inlägg
#3

Jupp, AlternatingItemStyle.BackColor finns till datalist och datagrid vet inte om det funkar på repeater.

Medlem sedan juni 20011 732 inlägg
#4

renholm skrev:

Jupp, AlternatingItemStyle.BackColor finns till datalist och datagrid vet inte om det funkar på repeater.

Nix, finns inga styles alls på en repeater, all layout får du skriva själv i någon eller några av de fem olika templates som finns i repeatern:

HeaderTemplate
ItemTemplate (obligatorisk)
AlternatingItemTemplate
SeparatorTemplate
FooterTemplate

Medlem sedan dec. 19996 522 inlägg
#5

ok tack killar, återkommer snart ;)

Medlem sedan dec. 19996 522 inlägg
#6

Jag återkommer redan nu, kan förklara lite vad jag ska göra så kan ni kanske tippsa mig om hur jag ska gå till väga för att nå finast resultat.

Jag har en Application som startas med on session start i global.asax, den innehåller en sträng som kan se ut på följande sätt.

Jonas Andersson,2|Pelle Ljungberg,13|Anna Andersson,45|

Alltså en användarlista på vilka som är online. Jag tänkte bryta upp den till en array och bryta först vid varje | tecken, sedan vid varje , tecken. siffran är vilken UsrId som personen har i databasen.

På själva sidan har jag en tabell som är 198px bred och där vill jag lista så att det blir en rad för varje användare innehållandes en länk till användarens personliga sida

Länken ser ut så här
<a href="Anvandare_Visa.aspx?IntUsrId="& IntUsrId &" class="BrodText">"& strUserName &"</a>

Det är här jag ska ha varannan rad grå

Då återstår det bara vad ska jag lägga min användarinformation i för att kunna presentera den som jag vill. Man kanske ska skippa arrayen och slänga in dem i någon annan form av asp.net pryl? Denna grej kommer att köras på varje sida så det verkar smutt att ha den i application som en sträng dock

Tacksam!

Medlem sedan juni 20011 732 inlägg
#7

Splitta strängen och släng in den i en datatable istället, det är lättare än att skicka in en array i din repeater när du ska ha flera olika värden för varje item.

Medlem sedan dec. 19996 522 inlägg
#8

Ok jag kom på att man kunde bygga upp en <asp:Table> i onload genom att loopa igenom och splitta arrayen, det skulle väll också fungera?

Medlem sedan juni 20011 732 inlägg
#9

Ja, så kan du också göra, fast jag tycker nog det är lättare att bygga upp tabellen med en repeater... en smaksak kanske.

Medlem sedan dec. 19996 522 inlägg
#10

Nu fungerar det perfa, om någon vill se koden så här är den

Function OnlineUsrs
		Dim A as Integer
		Dim Cnt As Integer
		Dim strColor As String 
		Dim TblOnlineRows As Array = Split(Application("OnlineUsrs"),"|")
		For A = 0 To UBound(TblOnlineRows)-1
			strColor = "#F2F2F2"
			cnt = cnt + 1
			If cnt Mod 2 = 0 Then strColor = "#FFFFFF"
			Dim UsrArray As Array = Split(TblOnlineRows(a),",")
			Dim R As New TableRow
			Dim C As New TableCell
			Dim lblMessage as New Label	
			lblMessage.Text = "<a href='Anvandare_Visa.aspx?IntUsrId="& UsrArray(1) &"' class='BrodTextUsrOnline'>"& UsrArray(0) &"</a>"
			C.Controls.Add(lblMessage)
	        R.Cells.Add(C)
			R.BackColor = 	System.Drawing.Color.FromName(strColor)
			TblOnline.Rows.Add(R)
			Erase UsrArray
		Next A
		Erase TblOnlineRows
End Function
Medlem sedan juni 20011 732 inlägg
#11

En sak bara, istället för att göra en länk av en Label, använd en hyperlink istället, tänk som så att om du måste skriva html i koden så har du gjort något "fel"... :)

Medlem sedan dec. 19996 522 inlägg
#12

Kollade på den först men valde label, ait ! jag ska byta ;)

Tack

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)