27. september 2006 - 09:54Der er
15 kommentarer og 1 løsning
Styre layoutet i en placeholder
Hej Eksperter
Hvordan styre jeg layoutet af controls i en placeholder. Mit problem er at jeg har en liste af objekter. Disse objekter har en property som indeholder en labelværdi og en som angiver hvilken type af control der skal oprettes.
Det ønskede layout kunne eksempelvis se således ud:
Label - textBox Label - comboBox Label - textBox
osv.....
så det jeg har brug for er at controls'ne kommer parvis under hinanden.
Person skal som klasse så have en public property ved navn Name. Præsentationen fikser du med templates i din repeater - og du kan lave det som du har lyst til.
Du kan self. også benytte de DataSource controls der findes i forbindelse med en repeater.
Ja det er også nogen lunde det jeg kunne se i en bog jeg kiggede i men jeg endte dog med at sætte 2 panels i item templaten og så i min codebehind add'e mine controls til disse panels.
Dette giver mig dog imidlertid et problem i de tilfælde at mine controls skal være af typen radiobuttons. Hvis jeg add'er hver enkelt radiobutton til mit panel kan jeg ikke unchecke dem hvis jeg først har sat dem checked. Jeg går udfra at det skyldes at den opfatter hver enkelt radiobutton som en group for sig selv og at der i hver group skal være en checked. Derfor har jeg prøvet at smide dem ind i en radiobuttonlist og så tilføje den til mit panel, men så bliver intet vist. Har en anelse om at det er fordi at når jeg add'er til mit panel skal typen der add'es være en control og radiobuttonlisten er en type for sig selv.
Nogen forslag til hvorledes jeg kommer udover dette?
Du kan bare sætte samme groupname på dem - eller bruge en radiobuttonlist. En radiobuttonlist er skam en kontrol ... Må jeg se den kode der gør at du ikke får listen at se? Mvh
Dim pnControl As Panel = e.Item.FindControl("pnControls")
Dim ds As DataSet = Matchwork.BLL.bllSql.executeSql(configArray(1).Replace("sql:", "")) For Each dr As DataRow In ds.Tables(0).Rows Dim radioButton As System.Web.UI.WebControls.RadioButton = New System.Web.UI.WebControls.RadioButton radioButton.ID = "rb" & objDynRef.drNumber & dr(0) radioButton.Text = dr(1) If dr(0) = configArray(0) Then radioButton.Checked = True End If rbList.Controls.Add(radioButton) Next pnControl.Controls.Add(rbList)
Dim config As String = objDynRef.typeDef Dim configArray As String() = config.Split(New Char() {"|"}) Dim rbList As RadioButtonList = New RadioButtonList
bare lige en biting hver af mine panels ligger i en td som har class defineret for at få tekster i rette størrelse og skrifttype, hvorfor virker det ikke længere(virkede dengang jeg fik dem som hver sin group)
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.