Permalänk
Medlem

C# DisplayMember problem.

Jag har en listbox som är bunden till en tabell i en databas,
sen genom displaymember vill jag länka till 2 kolumner. dvs så både förnamn och efternamn visas i listboxen. (förnamn och efternamn ligger i 2 olika kolumner i tabellen).
Hur löser jag detta problem enklast?

tack på förhand

Visa signatur

[Amd 2500+ @ 3200+] ¤ [Abit NF7] ¤ [1024 ddr @ 400 mHz] ¤ [Radeon 9600 pro] ¤ [Maxtor diamond max 160Gb] ¤ [Lain li PC 60]

http://forum.sweclockers.com/showthread.php?s=&postid=3916792...

Permalänk

Varför binda direkt mot databasen?

Skapa dataobjekt av dina tabeller, t.ex. klassen "Person". Sedan läser du dina Personer (t.ex. List<Person>) som du vill visa i listboxen från databasen.

Skapa en data source (BindingSource) via designern för ListBoxen, som är ett object av typen "Person".

List<Person> persons = Controller.GetPersons(); personBindingSource.DataSource = persons;

Lägg till en read-only property "DisplayName" i "Person" som inte gör något märkvärdigare än returnerar "FirstName" + "LastName". Denna blir DisplayMember. "ValueMember" blir väl nog passlig ID på personerna.

Visa signatur

"Mies saa kaatua mutta ei karata." -- Adolf Ehrnrooth IR 7, Äyräpää 1944.

Permalänk
Medlem

Vill du inte bygga en snyggare lösning som Turbo_tail pratar om så kan du ju i SQL-frågan "slå ihop" två kolumner om du vill.

Typ (för Oracle):
SELECT Förnamn, Efternam, Förnamn + '| |' + Efternamn AS MemberName FROM PERSONS

Sedan använder du MemberName i din ListBox.

Visa signatur

---

Permalänk
Medlem

Tack för svaren, ska genast testa metoderna.

Visa signatur

[Amd 2500+ @ 3200+] ¤ [Abit NF7] ¤ [1024 ddr @ 400 mHz] ¤ [Radeon 9600 pro] ¤ [Maxtor diamond max 160Gb] ¤ [Lain li PC 60]

http://forum.sweclockers.com/showthread.php?s=&postid=3916792...

Permalänk
Medlem

Hej ville inte skapa en ny tråd för denna enkla fråga, har typ nyss börjat leka med C# inför en kurs som börjar 2veckor.

Frågan lyder När jag kör en vanlig Console application så när jag debuggar så kommer det uppnågot snappt sedan går det bort. Ifall jag vill köra exe filen kan jag köra från en kommando tolken o köra exe filen där.

Frågan är jag skall kunna se programmet från visualstudio typ lägga in någon paus kommando typ att den går bort när jag utför en viss kommando? Har nämligen glömt hur man gör tacksam för svar

Som när man jobbar med windows applikation så kommer ju det grafiska fönstret upp o försvinner när man själv vill det.

MVH Jens Hjerpe

Visa signatur

xbox360 slim 250gb + ps3 Slim 100gb + wii

Permalänk
Medlem

Du är nog ute efter:

Console.ReadKey();

Visa signatur

Signatur?

Permalänk

Nej, använd break points!

Visa signatur

"Mies saa kaatua mutta ei karata." -- Adolf Ehrnrooth IR 7, Äyräpää 1944.

Permalänk
Medlem

Tack Console.Readkey(); tänkte jag på
Med det är sant man kan ju köra med break points Tack

Visa signatur

xbox360 slim 250gb + ps3 Slim 100gb + wii

Permalänk
Medlem

Break points och debug (F5) är det enklaste sättet...

Visa signatur

Har varit på detta forum på tok för länge...