D Dino Medlem sedan sep. 2001 1 914 inlägg Frågan 23 jan. 2003 11:40 #1 Har en repeater:
...
<itemTemplate>
<tr>
<td>
<%# level(Container.dataitem(3)) %>
</td>
</tr>
</itemTemplate>
<alternatingItemTemplate>
<tr>
<td>
<%# level(Container.dataitem(3)) %>
</td>
</tr>
</alternatingItemTemplate>
...
Skulle behöva att istället för trean så skulle det vara en variable som plusades på med 1. Hur gör jag?
NETwork Medlem sedan juni 2001 1 732 inlägg Räkna upp dem innan du fyller din repeater istället, exempelvis om du har ett dataset gör du så här:
ds.Tables["tabell"].Columns.Add(new DataColumn("Counter", typeof(Int32)));
for (int i=0; i<ds.Tables["tabell"].Rows.Count; i++) {
ds.Tables["tabell"].Rows[i]["Counter"] = i + 1;
}
<itemTemplate>
<tr>
<td>
<%# level(DataBinder.Eval(Container.DataItem, "Counter")) %>
</td>
</tr>
</itemTemplate>
D Dino Medlem sedan sep. 2001 1 914 inlägg Hmm, tror jag förstår tanken i det men jag kör ut datan genom en datareader direkt in i repeatern så jag använder inte något dataset. Finns det något annat alternativ.
P PatrikB Medlem sedan mars 2000 2 836 inlägg i en datareader kan du oxå få fram datan genom att ange fältnamnet:
strName = dr("FieldForName")
då i din datareader så får du helt enkel skriva så här:
<alternatingItemTemplate>
<tr>
<td>
<%# level(Container.dataitem, "FieldForName") %>
</td>
</tr>
</alternatingItemTemplate>
Det är det som gör den "mindre" dynamisk ....
cya,
PatrikB
NETwork Medlem sedan juni 2001 1 732 inlägg Hm, problemet är väl att det inte finns något bra sätt att komma ihåg värden från tidigare rader direkt i din repeater, du bör alltid göra den typen av logik i koden på något sätt. Kan du inte räkna upp värdet i funktionen "level" på nåt sätt, exempelvis genom att spara undan senaste värdet i en session och plussa på med 1, typ:
level {
session = session + 1;
return session;
}
Någon annan kanske har en bättre lösning?
D Dino Medlem sedan sep. 2001 1 914 inlägg PatrikB förslag går inte då fältet växlar från 2 upp till 8.
NETwork förslag skulle ju kunna funka. Får försöka modifiera det lite.
Får kolla över det hela och se om jag kan göra en bättre SQL fråga eller om jag skall ta en omväg och köra in det i ett dataset. Tack i alla fall. :)