Avatar billede burningice Nybegynder
12. november 2002 - 11:46 Der er 10 kommentarer og
1 løsning

Få fat i en control som ligger i mit datalist

Jeg har en dropdownlist i mit datalist, og som det er nu, fylder jeg det ud på denne måde

<asp:DropDownList id="DropDown1" runat="server">
    <asp:ListItem>Vælg en kategori</asp:ListItem>
</asp:DropDownList>

er det muligt at binde data til den under page_load?? når jeg skriver DropDown1.DataSource = minedata brokker den sig over at den ikke kan finde DropDown1...

how do i do?
Avatar billede askhoej Praktikant
12. november 2002 - 11:53 #1
<asp:DropDownList id="DropDown1" runat="server" DataTextField="db_name" DataValueField="db:id" DataSource="<%#GetDBData()%>">
    <asp:ListItem>Vælg en kategori</asp:ListItem>
</asp:DropDownList>

----------

protected DataTable UserNewsletters()
{
//Connection to DB
OleDbConnection con = new OleDbConnection(Application["strConnect"].ToString());
OleDbDataAdapter adpt = new OleDbDataAdapter("SELECT db_id,db_name FROM db_table",con);
DataSet ds = new DataSet();
adpt.Fill(ds,"db_table");
return ds.Tables["db_table"];
}


/askhoej
Avatar billede askhoej Praktikant
12. november 2002 - 11:53 #2
Rettelse:

UserNewsletters() = GetDBData()    ;-)
Avatar billede burningice Nybegynder
12. november 2002 - 12:25 #3
askhoej>> sejt... :) tak for det
Avatar billede burningice Nybegynder
12. november 2002 - 12:31 #4
erm... kan man lave paramtetre til den rutine??

altså

protected DataTable GetDBDAta(string bla) {

}

asp:DropDownList id="DropDown1" runat="server" DataTextField="db_name" DataValueField="db:id" DataSource="<%#GetDBData("whee")%>">
    <asp:ListItem>Vælg en kategori</asp:ListItem>
</asp:DropDownList>
Avatar billede askhoej Praktikant
12. november 2002 - 12:58 #5
Det kan du sagtens f.eks:

protected DataTable UserNewsletters(string order_row)
{
//Connection to DB
OleDbConnection con = new OleDbConnection(Application["strConnect"].ToString());
OleDbDataAdapter adpt = new OleDbDataAdapter("SELECT db_id,db_name FROM db_table ORDER BY " + order_row,con);
DataSet ds = new DataSet();
adpt.Fill(ds,"db_table");
return ds.Tables["db_table"];
}


-------

<asp:DropDownList id="DropDown1" runat="server" DataTextField="db_name" DataValueField="db:id" DataSource="<%#GetDBData("db_name")%>">
    <asp:ListItem>Vælg en kategori</asp:ListItem>
</asp:DropDownList>

/askhoej
Avatar billede burningice Nybegynder
12. november 2002 - 13:40 #6
den brokker sig over The server tag is not well formed.
Avatar billede askhoej Praktikant
12. november 2002 - 13:50 #7
Prøv følgende:

<asp:DropDownList id="DropDown1" runat="server" DataTextField="db_name" DataValueField="db:id" DataSource='<%#GetDBData("db_name")%>'>
    <asp:ListItem>Vælg en kategori</asp:ListItem>
</asp:DropDownList>

eller escape dine "'er i GetDBData :-)

/askhoej
Avatar billede burningice Nybegynder
12. november 2002 - 14:04 #8
det hjalp... altså DataSource='<%#GetDBData("db_name")%>'

:) takker
Avatar billede burningice Nybegynder
12. november 2002 - 14:06 #9
men... for at opsummere... det er ikke muligt at ændre datasourcen på den ved hjælp af f.eks. Page_Load, men skal gøres i selve <asp:DropDownList> tag'et ??
Avatar billede askhoej Praktikant
12. november 2002 - 14:13 #10
Ikke ummidelbart når DropDownListen ligger inde i en DataList, men er ikke helt sikker :-)

/askhoej
Avatar billede burningice Nybegynder
12. november 2002 - 15:21 #11
kay... nej, det er lidt svært sårn lige uden videre, men det kan være der er nogle asp.net hajer der ved en måde at gøre det på :)
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