24. september 2005 - 15:02Der er
6 kommentarer og 1 løsning
Kalender liste, m. forskellige tekst
Hejsa!
Jeg er i gang med at lave en kalender, der vises som en liste i en Repeater. Mit problem er følgende:
Jeg vil gerne have det sådan at hvis der bliver valgt to datoer når arrangementet bliver oprettet skal der stå eks. '25. september til 27. september' og hvis der kun er valgt en dato skal der stå eks. '25. september' altså uden 'til'.
Hvordan kan man ordne det? Jeg har ikke ummidelbart nogen løsning der ikke involvere kode i selve repeateren i aspx-filen i <% %> og det vil man jo gerne undgå..
du kan gøre det programmatisk ved at spørge på valgte datoer i kalender:
hvis du allerede abbonerer på ItemDataBound eventet, kan du jo gøre noget i denne stil:
// forestiller mig at du så har kalenders og en label i hver item Calender calender = e.Item.FindControl("CalenderId") as Calender; Label calenderLabel = e.Item.FindControl("LabelId") as Label;
// hvis de er der begge to if(calender != null && calenderLabel != null) { // gør du ét hvis der er valgt én dato if(calender.SelectedDates.Count == 1 { calenderLabel.Text = calender.SelectedDates[0].ToString(); } // og noget andet hvis der er valgt flere else if(calender.SelectedDates.Count > 1) { calenderLabel.Text = String.Format("{0} til {1}", calender.SelectedDates[0], calender.SelectedDates[calender.SelectedDates.Count-1]); } }
Ja, det ser da fornuftigt ud. Jeg vidste ikke at man kunne ligge Labels inde i en ItemTemplate. Jeg har faktisk haft en Literal kontrol i tankerne, men tænkte at det kunne man nok ikke, da kontrollen så har samme ID i flere rækker?!
du får et svar her :o) mvh (det resulterende id for de kontroller du lægger i din template er ikke det du angiver i templaten - frameworket sikrer at de er unikke, og e.Item.FindControl("...") sørger for at finde den rigtige kontrol til dig igen... du kan se hvordan id's bliver genereret, ved at kigge i den resulterende html).
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.