webForumDet fria alternativet

Nestlade asp:repeaters

.NET

3 svar · 395 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Sitter och funderar hur jag lämpligast skall kunna skriva ut ett antal län lodrät från en databas, samt att från en arraylist skriva ut vågrät veckor från 1 - x. Sedan skall beroende på vecka, skriva ut en siffra .. liksom nedan..

Län/Vecka 1 2 3
Län1 | 2 | 0 | 1 |
Län2 | 3 | 2 | 6 |
Län3 | 3 | 0 | 0 |

Finner det komplicerat som bara den... vet inte riktigt var jag skall börja..
Någon med en idé?

Medlem sedan jan. 20012 204 inlägg
#2

En datagrid?

Medlem sedan jan. 200475 inlägg
#3

Det går att köra med nestlade repeaters men man är ganska låst till hur man hämtar/binder datan. Jag antar att du skall hämta både län och veckoinfo från en databas och de två tabellerna som du använder har en relation till varandra. Minns lite vagt att det var DataSet man använde men kommer inte ihåg exakt.
Psuedokod:

Sätt upp Sqlkoppling.
Hämta all data på län och lägg in det i en ny tabell i dataset.
Hämta all veckodata och lägg in det i en ny tabell i dataset.
Ange i dataset vilken relation du har mellan tabellerna. ds.Relations.Add("relationsnamn", <kolumn i första tebellen>, <kolumn i andra tabellen>)
Sätt första tabellen i dataset som datasource till top repeatern.
DataBind top repeatern.

OBS. I presentationslagret måste du ange datasource till barn repeatern explicit enligt
datasource='<%# Container.DataItem.Row.GetChildRows("relationsnamn") %>'

Medlem sedan nov. 20014 054 inlägg
#4

mo:d:fi skrev:

Det går att köra med nestlade repeaters men man är ganska låst till hur man hämtar/binder datan. Jag antar att du skall hämta både län och veckoinfo från en databas och de två tabellerna som du använder har en relation till varandra. Minns lite vagt att det var DataSet man använde men kommer inte ihåg exakt.
Psuedokod:

Sätt upp Sqlkoppling.
Hämta all data på län och lägg in det i en ny tabell i dataset.
Hämta all veckodata och lägg in det i en ny tabell i dataset.
Ange i dataset vilken relation du har mellan tabellerna. ds.Relations.Add("relationsnamn", <kolumn i första tebellen>, <kolumn i andra tabellen>)
Sätt första tabellen i dataset som datasource till top repeatern.
DataBind top repeatern.

OBS. I presentationslagret måste du ange datasource till barn repeatern explicit enligt
datasource='<%# Container.DataItem.Row.GetChildRows("relationsnamn") %>'

Löset detta genom att dels sätta i headertemplate en repeater, och sedan en repeater i itemtemplate. Var båda skriver ut samma information...

blev skit bra.. :)

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)