Dynamiska Labels och Dropdownlistor
Hej,
jag hämtar strängar från en databas och vill nu bygga upp labels med tillhörande dropdownlistor under dynamiskt.
Det kan vara upp till 15 st labels som är synliga och har en viss text beroende på en SQL-query.
Jag får inte detta att fungera då det är svårt att i code-behind programmatiskt sätta texten på labeln då jag inte kan binda den till rätt label. Självklart går det att skriva olika alternativ för alla 15 labels men det borde ju gå att lösa på ett smidigare sätt?
Lite pseudokod så ni förstår vad jag är ute efter (mina labels heter lbl1, lbl2 o.s.v.):
1 2 3 4 5 6 7 8 9 | lblcount = 1 While objDataReader.Read() (lbl & lblcount.Tostring).Text = CStr (objDataReader( "H_Namn" )) (lbl & lblcount.Tostring).Visible = True lblcount += 1 End While |
Snälla hjälp en förlorad själ!
Svara
Sv: Dynamiska Labels och Dropdownlistor
Du kan ju använda dig av en array:
1 2 3 4 5 6 7 8 9 10 11 12 | // Exempel med 15 st labels Label[] labels = new Label[15]; // Loopa igenom arrayen // Skapa ny label i varje element // Tilldela varje label text samt placera den i en panel for ( int i=0; i<labels.GetLength(0); i++) { labels[i] = new Label(); labels[i].Text = string .Concat( "Label" , i.ToString()); Panel1.Controls.Add(labels[i]); } |
Hoppas att det var något liknande du var ute efter.
</code>
Svara
Sv: Dynamiska Labels och Dropdownlistor
Förlåt, du får det i vb-kod också:
1 2 3 4 5 6 7 8 9 10 11 | ' Exempel med 15 st labels Dim labels(15) As Label ' Loopa igenom arrayen ' Skapa ny label i varje element ' Tilldela varje label text samt placera den i en panel For i As Integer = 0 To labels.GetUpperBound(0) labels(i) = New Label() labels(i).Text = String .Concat( "Label" , i.ToString()) Panel1.Controls.Add(labels(i)) Next |
Svara
Sv:Dynamiska Labels och Dropdownlistor
Tack för hjälpen,
jag löste det på ett modifierat sätt så jag hade befintliga labels på sidan redan. Men din lösning var det som knäckte nöten och satte igång tankeverksamheten.
Tackar!
Svara