Er der nogen, der kan fortælle mig, hvorfor koden kun virker i det tilfælde, hvor jeg manuelt fylder alle data ind i min drop-down menu? Eller bedre, hvad skal jeg gøre for at fange data også fra de tabeller, som er fyldt fra databasen med en array-list?
Danmark vil mindske afhængigheden af globale techgiganter, men det kræver mere end politiske formuleringer og strategier, understreger PROSA’s formand Niels Bertelsen.
Her er koden, på forhånd tak for hjælpen. Jeg er kørt fast!
Vh Lars
Code-behind:
Til den første dropdown, som er manuel, er det "bare" tastet ind:
<asp:DropDownList ID="ddl_01_manuel" runat="server"> <asp:ListItem Value="ingenting">Vælg fra liste ...</asp:ListItem> <option value="tlf-bestilling">Telefonbestilling</option> <option value="fax-bestilling">Faxbestilling</option> </asp:DropDownList>
Til den næste dropdown, hvor den 1. linje er manuel, men hvor resten hentes ind fra databasen, ser det sådan ud: <asp:DropDownList ID="ddl_02_kunder" runat="server"> <option value="Vælg fra liste ...">Vælg fra liste...</option> <option value="Kunde 1">Kunde 1</option> <option value="Kunde 2">Kunde 2</option> </asp:DropDownList>
Proceduren i klassen connex_admin, som hedder "udfyld_dropdown", bygger en arraylist eller returnerer en fejl. Det er en generel procedure, jeg bruger den til at fylde flere forskellige dropdowns:
public void udfyld_dropdown(string procedure, string kolonne_navn, out ArrayList rowlist, out bool fejl) {
fejl = false;
connex connex = new connex(); SqlConnection connection = new SqlConnection(connex.connection());
SqlCommand cmd01 = new SqlCommand(procedure, connection); cmd01.CommandType = CommandType.StoredProcedure;
ArrayList rowList_lokal = new ArrayList(); rowList_lokal.Add("Vælg fra liste ...");
while (reader.Read()) { // vi skal sikre os, at det ikke er en null-værdi og at der ER en værdi i feltet string value_db = reader[kolonne_navn].ToString();
Problemet er at du laver en databind igen ... du mangler stadig lidt kode, men jeg går ud fra at du laver din DataBind i din Load ... og der kan det gå galt.
if(!IsPostBack) { // Her skal du lave din databinding, hvis der kommer et GET request, ved postback holder ViewState styr på dine værdier. }
Og det skal ind i din Load event i din CodeBehind.
hahha, ja, det fandt jeg ud af ... omend jeg også så det før dig :-)
Synes godt om
Ny brugerNybegynder
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.