Avatar billede dex_dexter Nybegynder
25. april 2005 - 15:17 Der er 12 kommentarer og
1 løsning

binde textbox til dropdownbox

jeg har en dropdownbox på en aspx side som er binded til et dataset, nu vil jeg umidbart gerne have at den text man markerer i dropdownboxen bliver vist i en textbox, og nogle andre felter den den samme række i datasettet bliver vist i nogle andre boxe, hvordan gør man dette nemmest?
Avatar billede jokkejensen Novice
25. april 2005 - 15:28 #1
Du smider bare et autopostback = true på din asp:dropdownlist og en event på OnSelectedIndexChanged="" ...

eksempel:

            <asp:DropDownList AutoPostBack="true" OnSelectedIndexChanged="changeDDlist" id="DropDownList1" runat="server">
                <asp:ListItem Value="01">01</asp:ListItem>
                <asp:ListItem Value="02">02</asp:ListItem>   
            </asp:DropDownList>
            <asp:TextBox Runat="server" ID="TextBox1"></asp:TextBox>



        protected void changeDDlist(object o, EventArgs e)
        {
            TextBox1.Text = DropDownList1.SelectedItem.Value.ToString();
        }
Avatar billede dex_dexter Nybegynder
25. april 2005 - 15:30 #2
i dropdown boxen kan jeg vælge et tal mellem 1 og 10 og så har jeg 2 textboxe der skal hente value1 og value2 ud fra databasen på den record der har det id man har valgt i dropdownlisten, det kan jeg ikke helt se hvordan man kan gøre på den måde du foreskriver
Avatar billede jokkejensen Novice
25. april 2005 - 15:38 #3
protected void changeDDlist(object o, EventArgs e)
        {
            //din kode til DB
            string SQL = "Select * from TBL where id ='" +DropDownList1.SelectedItem.Value.ToString() + "'";
           
           
            if(dbReader.Read())
            {
                TextBox1.Text = dbReader["value1"].ToString();
                TextBox2.Text = dbReader["value2"].ToString();
            }
        }
Avatar billede dex_dexter Nybegynder
25. april 2005 - 15:41 #4
uhm, tjoe det er bare ikke en holdbar løsning da jeg skal tage informationen ud fra datasettet og ikke direkte fra databasen
Avatar billede burningice Nybegynder
26. april 2005 - 00:22 #5
protected void changeDDlist(object o, EventArgs e)
        {
            DataRow[] drs = ditDataSet.Tables[0].Select("id = "+ DropDownList1.SelectedItem.Value.ToString() +")
         
            if (drs != null) {
              TextBox1.Text = drs[0]["value1"].ToString();
            }
        }
Avatar billede dex_dexter Nybegynder
26. april 2005 - 09:37 #6
jeg kan godt se hvad du prøver på, men jeg kan godt nok ikke få det til at virke, ligemeget hvad jeg smider i select´en får jeg ikke noget over i drs.
jeg har endda prøvet at køre med en tom select så burde den jo tage hele tabellen over i, har du et tip?
Avatar billede burningice Nybegynder
26. april 2005 - 09:42 #7
hvordan initialiserer du dit dataset?
er det fyldt når at changeDDlist-metoden udføres?
Avatar billede dex_dexter Nybegynder
26. april 2005 - 09:53 #8
jeg tror jeg har fundet ud af hvor problemet ligger, jeg fylder datasettet fra en adapter i page_load, men det gør den kun når siden ikke er i postback, så datasettet burde være fyldt når den event bliver kastet, men der er et problem der, koden virker fint hvis jeg laver det statisk i pageload
Avatar billede dex_dexter Nybegynder
26. april 2005 - 09:54 #9
if (!IsPostBack)
            {
                sqlDataAdapter1.Fill(userset1);           
            }
fyrer jeg af.
Avatar billede burningice Nybegynder
26. april 2005 - 10:00 #10
som du selv siger, så har du et problem der... datasettet bliver ikke fyldt næste gang din side afvikles.

Du bør istedet gemme det i f.eks. Session så at du kan hente det frem igen på en senere tidspunkt uden at skulle være nødt til at fylde det igen.
Avatar billede dex_dexter Nybegynder
26. april 2005 - 10:06 #11
jeg har lavet et workaround med at datasettet bliver fyldt på hver postback med at dropdown kun bliver bundet første gang, det er en slamløsning, men det virker lige nu, jeg overvejer, som du også siger, at gemme id´et i en session og så læse det den vej rundt, men det må laves senere, nu virker det i alt fald.

smid et svar så skal du få points, du fik vist mig noget om datasets jeg ikke vidste man kunne
Avatar billede burningice Nybegynder
26. april 2005 - 10:13 #12
:)
Avatar billede dex_dexter Nybegynder
26. april 2005 - 10:17 #13
så dykker jeg i bøgerne igen, skal have den til at slette en row fra datasettet nu :)

takker for hjælpen
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