22. februar 2005 - 23:16Der er
43 kommentarer og 1 løsning
listbox i C#
Hejsa E
Jeg sidder og roder med en listbox hvor jeg indsætter noget tekst som jeg sammensætter fra forskellige felter i en DB. Hvordan er det så lige at jeg også indsætter et ID så jeg kan finde den valgte post ud fra det ?
Ligesom i web hvor der både er en value og en tekst!
Listbox.DataSource = DATASET.Tables["NAVN"]; Listbox.DisplayMember = "Sammensat"; //Her skal navnet på din kolonne stå, den kolonne som du sammen sætter. Listbox.ValueMember = "ID"; //Navnet på din ID kolonne.
I samme sekund du ikke binder dataset, og listbox sammen, kan du ikke få adgang til DisplayMember, og ValueMember. Sådan som du gør nu, tilføjer du ting til dens Item collection, det vil bevirke at det eneste du kan gemme i din listbox, er det som du kan se i den.
Du har fat i noget af det rigtige... Du skal ændre dine data, i dit datset, inden du binder det til din listbox.
Så i din foreach løkke skal du fatisk ændre data'en i dine kolonner, og skrive dsFav.AcceptChanges(); lige uden for løkken, og så have this.lstShowWines.DisplayMember = wineData; this.lstShowWines.ValueMember = guid; lige neden under.
Hurtigt, og meget dårligt lavet om, men dette burde faktsik gøre det som du prøver på...
Vi skal have det skruet bedre sammen, vil gerne hjælpe hvis jeg kan... Har du lidt data fra din database, så jeg kan se hvordan det ser ud, så jeg kan forstå hvad du prøver på med din foreach?
Jeg skal bare have et overblik over hvordan dit dataset ser ud, når du får alle dine favorit vine fra den side :) Skriv lige et par linjer med det forskellige, så jeg kan se hvordan det kan se ud... :)
Kan du prøve at sende en kopi af din xml fil? Kun hvis der ikke står noget personlig data i, så vil jeg lige lave lidt ben arbejde, og kigge på det, og se om jeg kan hjælpe dig videre. Men hvis du synes jeg er for langsom, og for dårlig, er det i orden :-)
Du kan bare tage ovenstående og gemme det som xml, det er helt som det ser ud...
hvis jeg laver denne: this.lstShowWines.Items.Add(wineData); kommer der fint data i listboksen, men guid kommer ikke med, så dataene er OK, det er bare det med at guid skal ind som en value.
Har ændret i navnet på den sidste jeg fik af dig, bare så jeg var sikker på at den xml jeg arbejdede med, var korrekt. Dette er aftestet, og godkendt, det virker ihvertfald for mig :) Med de data jeg har fået af dig.
hvis jeg udkommenterer: lstShowWines.Items.Add(dr["name"].ToString()); og fjerner: lstShowWines.DataSource = dsFav.Tables["Favorites"]; lstShowWines.DisplayMember = "name"; lstShowWines.ValueMember = "guid"; Så virker det som før...
Du fylder dit dataset med en XML fil, normalt bliver et dataset fyldt fra en Adapter, og der er her man normalt navngiver en tabel i et dataset. Det sker ikke, da du jo ikke arbejder med en adapter, derfor kender dit dataset kun din tabel som tabel nr 0.
Jeg vil bare gerne se din kilde kode når du er færdig. Har aldrig lavet noget til CF, og vil gerne se noget som virker, så jeg kan danne mig en idé om hvor svært det er... :)
Men der er jo ikke mange ressourcer på en PDA, så man skal være lidt mere påpasselig med at rydde op.
Mht at udvikle til PDA så skal du bare tænke på udvikle "normalt" men at du kun kan ca 1/5 af hvad du normalt kan! Forms er for ressourcekrævende, så man bruger paneler i stedet og tænder og slykker for dem. Man kan ikke rigtigt arve, så menuer skal skrives om på hver form osv... Og så er der jo størrelsen på formen... der er ikke meget plads!
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.