Avatar billede hejhejhej Nybegynder
01. juli 2004 - 19:39 Der er 11 kommentarer og
1 løsning

Opdatere data i en dropdownbox

Jeg har en webform hvor der e rplaceret 2 dropdownboxe: drop1 pg drop2.
Når der ændres i drop1, dvs der vælges et andet element i listen, skal data i drop2 opdateres. Jeg har forsøgt med flg:

    Private Sub drop2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles drop2.SelectedIndexChanged
        Call readDatabase("SELECT * FROM tabel WHERE felt1 = '" & drop2.SelectedValue & "'", 2)
    End Sub

hvor readDatase læser fra en database og opdaterer data i drop2, men der sker ingenting.
Det er som om at den aldrig kører koden i drop2_SelectedIndexChanged. Hvorfor og hvordan får man det til at virke ?
Avatar billede nielsbrinch Nybegynder
01. juli 2004 - 19:44 #1
Det er på drop1 du skal lave din SelectedIndexChanged. Det er jo pga. den der skal ske en reaktion. Ligeledes er det jo værdien af drop1 du skal aflæse.
Avatar billede hejhejhej Nybegynder
01. juli 2004 - 20:00 #2
Ja jeg fik skrevet forkert. Det er selvfølgelig drop2 der ændrer værdien i drop1.
Jeg har forsøgt at sætte et break-point i drop2_SelectedIndexChanged proceduren men der kommer ikke der til selvom jeg vælger en anden værdi i drop2. fatter ikke hvordan det virker
Avatar billede nielsbrinch Nybegynder
01. juli 2004 - 20:09 #3
På din DropDown skal du sætte AutoPostBack til true
Avatar billede hejhejhej Nybegynder
01. juli 2004 - 20:20 #4
ja så sker der noget.
men alle mine dropdownboxe bliver fyldt med data igen. Jeg har fx en drop3 som indeholder "hej" og "hej2". men efter jeg ændrer værdien i drop2 bliver alt data lagt ind igen så ledes at drop3 = "hej", "hej2", "hej", "hej2"
Avatar billede nielsbrinch Nybegynder
01. juli 2004 - 20:34 #5
Så må du clear den hver gang.
Avatar billede nielsbrinch Nybegynder
01. juli 2004 - 20:35 #6
drop2.Items.Clear() eller sådan noget.
Avatar billede hejhejhej Nybegynder
01. juli 2004 - 21:03 #7
jamen det kan da ikke være rigtigt at den skal læse data ind for alle dropdownboxe igen, det tager da lang tid.
Er der ikke en anden måde ?
Avatar billede nielsbrinch Nybegynder
01. juli 2004 - 21:08 #8
eller fjerne ViewState fra den.
Avatar billede nielsbrinch Nybegynder
01. juli 2004 - 21:09 #9
eller nøjes med at tilføje grundelementerne i Page_Load inden for en if (!IsPostBack)
Avatar billede nielsbrinch Nybegynder
01. juli 2004 - 21:09 #10
ViewState gør at den husker hvilke elementer den indeholder. Så behøver du altså ikke at tilføje dem igen. Ved at sætte noget inden for !IsPostBack bliver det kun udført første gang siden loades.
Avatar billede hejhejhej Nybegynder
02. juli 2004 - 16:14 #11
ok. Fik det til at virke ved at tjekke for IsPostBack. Skriv lige et svar :-)
Avatar billede nielsbrinch Nybegynder
02. juli 2004 - 17:05 #12
et svar
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