Hej. Jag har en listbox på sida som jag vill fylla med data från en databas. Eftersom jag vill ha DataTextField att visa mer än en kolumn från databasen så tänkte jag använda mig av ListItem objektet. Hej, om du skriver: dim lst() as ListItem så dimentionerar du aldrig något. Skriv istället: Dim lst(1) as ListItem så borde det gå bättre. Hej. Jag testade din lösning men det fungerade tyvär inte. Jag får felmeddelandet: När du skapar array:er av objekt initeras dessa till null. Därför måste du göra något sånt här först: Tack! Nu fungerar det. Nedan kommer koden som fungerar för mig:Listbox + AddRange
Med AddRange metoden kan man sätta till en array av typen ListItem. Detta har jag dock inte fått att fungera. Här är hur jag hade tänkt mig att det skulle fungera:
<code>
dim lst() as ListItem
lst(0).value="1"
lst(0).text="hej"
'lstBox är Listboxen
lstBox.Items.AddRange( lst )
</code>
osv.
Men när jag testar ovanstående så får jag felmeddelande "index out of range..."
Vore tacksam ifall någon kunde hjälpa mig på traven.
mvh, PhilipSv: Listbox + AddRange
/PelleSv: Listbox + AddRange
Object reference not set to an instance of an object.
Är det något elementärt jag glömt bort i detta läge eller? Skulle vara bra ifall jag kunde få detta att fungera eftersom jag tycker metoden skulle vara användbar i mitt fall.
mvh,
PhilipSv: Listbox + AddRange
<code>
dim lst(10) as ListItem 'skapar 10
for int i = 0 to lst.Length - 1
lst(i) = new ListItem()
next
lst(0).value="1"
lst(0).text="hej"
'lstBox är Listboxen
lstBox.Items.AddRange( lst )
</code>
Antagligen lite fel i koden (kan ej VB) men du förstår principen iaf.Sv: Listbox + AddRange
<code>
Dim lst(2) As ListItem
Dim i As Integer = 0
For i = 0 To lst.Length - 1
lst(i) = New ListItem("Test " & i, i.ToString())
Next
ListBox1.Items.AddRange(lst)
</code>
mvh,
Philip