Avatar billede uc Nybegynder
21. november 2003 - 12:42 Der er 7 kommentarer og
1 løsning

(c#)Opdater en DropDownList

Hej Eksperter

Hvordan opdater man en DropDownList med en bestemt værdi for denne opgave
(Valgt ud fra en sql sætning)
Men samtidig skal DropDownListen være udfyldt med de andre værdier som findes  for denne
DropDownList.

Et hoved under armen forsøg var dette
DropDownList1.SelectedItem.Value = dbReader["ansvarlig"].ToString();
Som ikke virker

Sådan her henter jeg normalt data ind I DropDownList1

dbConn.Open();
          sql3 = "Select navn From ansvar Order By navn Asc";

        IDbCommand  dbCmd3;
        dbCmd3 = new OleDbCommand();
        dbCmd3.CommandText = sql3;
        dbCmd3.Connection = dbConn;

        IDataReader dbReader3;
        dbReader3 = dbCmd3.ExecuteReader();
        DropDownList_ansvar.Items.Clear();
        DropDownList_ansvar.Items.Add(" ");
        while (dbReader3.Read())
        { 
            name = dbReader3["navn"] + "";
            this.DropDownList_ansvar.Items.Add(name);
        }

        dbConn.Close();

uc
Avatar billede vraa Nybegynder
21. november 2003 - 13:04 #1
Er ikke sikker, men prøv:

DropDownList_ansvar.Items.FindByText(detElementDerSkalOpdateres).Value = dbReader["ansvarlig"].ToString();
Avatar billede uc Nybegynder
21. november 2003 - 13:18 #2
Hej vraa
Jeg tror ikke jeg er helt med.
detElementDerSkalOpdateres ?
hvis det jeg henter ind er navn
er detElementDerSkalOpdateres = navn ?
Avatar billede roger Nybegynder
21. november 2003 - 15:52 #3
Hvis det du mener som værdi skal ændres gøres det sådan her:

DropDownList1.SelectedItem.Value = dbReader["ansvarlig"].ToString();

Er det teksten du vil ændre gør du sådan her:

DropDownList1.SelectedItem.Text = dbReader["ansvarlig"].ToString();


Det element der er valgt, ændres.
Avatar billede vraa Nybegynder
21. november 2003 - 21:28 #4
Lige nøjagtig.. men det jeg skrev fungerer bedst hvis det kører i en løkke. Hvis det er et element i drop-down der er markeret i forvejen skal du bruge roger's metode.
Avatar billede uc Nybegynder
23. november 2003 - 21:14 #5
Tjaa jeg tror at jeg har forklaret mig forkert.
for jeg skal ikke ændre noget.!

Jeg skal bare have en DropDownlist med x elementer i, som jeg
henter ind via den kode jeg har vedlagt.
og en af de x elementer skal sættes til at være i fokus nemmelig dbReader["ansvarlig"].ToString();

Håber at det var en bedre forklaring.?

uc
Avatar billede vraa Nybegynder
23. november 2003 - 22:14 #6
Jeg ville gøre sådan her så:

DropDownList_ansvar.Items.FindByText(IDpåDetElementDerSkalVæreSelected).Selected = true;

...og putte det i din while (dbReader3.Read())
Avatar billede uc Nybegynder
24. november 2003 - 09:47 #7
vraa

det virker ikke inde i while , men uden for...perfekt
det ser sådan her ud..point til dig...Takker

NAMEINFOCUS = dbReader["ansvarlig"].ToString();

dbConn.Open();
          sql3 = "Select navn From ansvar Order By navn Asc";

        IDbCommand  dbCmd3;
        dbCmd3 = new OleDbCommand();
        dbCmd3.CommandText = sql3;
        dbCmd3.Connection = dbConn;

        IDataReader dbReader3;
        dbReader3 = dbCmd3.ExecuteReader();
        DropDownList_ansvar.Items.Clear();
        DropDownList_ansvar.Items.Add(" ");
        while (dbReader3.Read())
        {  // retrieve records 1-by-1...
            name = dbReader3["navn"] + "";
            this.DropDownList_ansvar.Items.Add(name);

        }

        dbConn.Close();
        DropDownList_ansvar.Items.FindByText(NAMEINFOCUS).Selected = true;

    }
Avatar billede vraa Nybegynder
24. november 2003 - 10:33 #8
Alle tiders... Jeg takker for point.
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