Avatar billede ihtezaz Praktikant
21. oktober 2004 - 10:54 Der er 14 kommentarer og
1 løsning

Indsætte en string sammensat med data fra DB, put det i ListBox

Hej

Jeg har indsat noget data fra min DB i Listbox med dataTextField property. Men før det indsatte værdi ønsker jeg en streng, der beskriver værdien. Med dataTextField vil listboxen, kun tag en værdi og yderligere steng før værdien kan ikke indsættes.  hvordan kan jeg indsætte streng før værdien fra DB ?
Avatar billede ronja7 Nybegynder
21. oktober 2004 - 11:20 #1
Kan du ikke bare sammensætte din streng af db-værdi+beskrivende streng, inden du indsætter værdien i dataTextField?

Dim str As String = "(Her er en beskrivelse)" + db-værdi
list.dataTextField = str
Avatar billede ihtezaz Praktikant
21. oktober 2004 - 11:55 #2
Nej det virker ikke helt, for den forventer colonne navn, ud fra den datasource man har angivet.
Avatar billede ihtezaz Praktikant
21. oktober 2004 - 11:56 #3
dvs. Version er en colonne navn.
Avatar billede nielsbrinch Nybegynder
21. oktober 2004 - 12:34 #4
Jeg foreslår du gennemløber alle elementer i din ListBox efter DataBind(), så kan du måske sætte den ønskede værdi ind.
Avatar billede ronja7 Nybegynder
21. oktober 2004 - 13:23 #5
Nu må vi se noget kode...
Avatar billede ihtezaz Praktikant
21. oktober 2004 - 13:42 #6
Ok her kommer det.

lb.DataSource = ds.Tables["prog"];
lb.DataTextField = "Version";
lb.DataValueField = "VersionID";
lb.DataBind();

Problemmet ligger så i at, som det står vises kun version nr f.eks. 3.0. i Listboxen. Jeg vil inden 3.0 inføje en tekststreng, f.eks. "programnavn" + 3.0.
Avatar billede snepnet Nybegynder
21. oktober 2004 - 14:00 #7
Lige en (modificeret) kopi fra et andet spørgsmål :

Dette her :

string[] someStrings = {"hej","med","dig"};

someDropDownList.DataSource = someStrings;
someDropDownList.DataBind();


Giver det samme resultat som :

string[] someStrings = {"hej","med","dig"};

foreach(string s in someStrings)
{
  ListItem li = new ListItem(s,s);
  someDropDownList.Items.Add(li);
}

Men i den nederste får du lidt mere hands-on med præsentationen :

DataTable dt = someDataSet.Tables["prog"];

foreach(DataRow dr in dt.Rows)
{
  ListItem li = new ListItem("programnavn" + dr["Version"].ToString(), dr["VersionID"].ToString());
  someDropDownList.Items.Add(li);
}

mvh
Avatar billede ihtezaz Praktikant
21. oktober 2004 - 14:41 #8
hey snepnet
Ok men, jeg ville hav versionID som DataValueField, kan det lad sig gøre
Avatar billede snepnet Nybegynder
21. oktober 2004 - 14:43 #9
Det skulle du da også gerne få med den her :
ListItem li = new ListItem("programnavn" + dr["Version"].ToString(), dr["VersionID"].ToString());

den skulle gerne sætte Version ind som text, og VersionID ind som value... Gør den ikke det ?

mvh
Avatar billede snepnet Nybegynder
21. oktober 2004 - 14:44 #10
Æhh... altså i hvert fald efter du tilføjer den til listen :o)
mvh
Avatar billede ihtezaz Praktikant
21. oktober 2004 - 14:46 #11
ok..sorry prøvede ikke først, gøre nu.
Avatar billede ihtezaz Praktikant
21. oktober 2004 - 15:09 #12
Jep det virker helt fint, smid et svar snepnet
Avatar billede snepnet Nybegynder
21. oktober 2004 - 15:10 #13
et svar her :o)
mvh
Avatar billede snepnet Nybegynder
21. oktober 2004 - 15:11 #14
husk lige niels brinch - hans forslag er også gangbart.
mvh
Avatar billede ihtezaz Praktikant
21. oktober 2004 - 17:20 #15
Jep, men desværre fik jeg ikke id med som value field i den forslag. Men tak Niels.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Politiets Efterretningstjeneste

Tech Lead til udviklingsteam i PET

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Ingeniør til Satellitkommunikation

Politiets Efterretningstjeneste

IT Sikkerhedsarkitekt i PET

Netcompany A/S

Network Engineer