Avatar billede stinejh1980 Nybegynder
11. maj 2006 - 13:38 Der er 9 kommentarer og
1 løsning

Vælge linie i dropdown istedet for at overskrive 1. linie

Jeg har en dropdown:

<asp:DropDownList CssClass="dropdown" id="DropProduktlinie" runat="server" TabIndex="2" >
<asp:ListItem Value="0" Selected="true" Text="V&aelig;lg" />   
<asp:ListItem Value="CR" Text="CR" />   
<asp:ListItem Value="OF" Text="OF" />   
<asp:ListItem Value="RC" Text="RC" />   
<asp:ListItem Value="PF" Text="PF" />   
</asp:DropDownList>

Hvis jeg skriver:
DropProduktlinie.SelectedItem.text = "CR"
Så kommer dtropdown til at se sålede ud:
cr
cr
of
rc
pf

Hvordan får jeg den til bare at vælge linien med CR??
Avatar billede snepnet Nybegynder
11. maj 2006 - 13:49 #1
DropProduktlinie.Text = "CR"
Eller DropProduktlinie.SelectedIndex = 0
Mvh
Avatar billede stinejh1980 Nybegynder
11. maj 2006 - 15:26 #2
DropProduktlinie.Text = "CR"
'Text' er ikke medlem af 'System.Web.UI.WebControls.DropDownList'.

DropProduktlinie.SelectedIndex = 0
Virker fint, men det kommer fra min db så det burde være:

DropProduktlinie.SelectedIndex = ObjRs("Produktlinie_Text")
Men der siger den:
Inputstrengen var ikke i et korrekt format.
Avatar billede stinejh1980 Nybegynder
11. maj 2006 - 15:33 #3
Hvis jeg lavet Dropdown om til:
<asp:DropDownList id="DropProduktlinie" tabIndex="2" runat="server" CssClass="dropdown">
<asp:ListItem Value="0" Selected="true" Text="V&aelig;lg" />
<asp:ListItem Value="cr" Text="CR" />
<asp:ListItem Value="of" Text="OF" />
<asp:ListItem Value="rc" Text="RC" />
</asp:DropDownList>

Og gemmer value for derefter at skrive:
DropProduktlinie.SelectedIndex = ObjRs("Produktlinie_Value")
Virker det fint, MEN.... :-)

Nu gemmer jeg mange ting fra mange Dropdowns og ikke alle kan laves om til at have value som et tal.

Kan det gøres på en smartere måde??
Avatar billede stinejh1980 Nybegynder
11. maj 2006 - 15:34 #4
Ups.
Jeg mente selvfølgelig:
<asp:DropDownList id="DropProduktlinie" tabIndex="2" runat="server" CssClass="dropdown">
<asp:ListItem Value="0" Selected="true" Text="V&aelig;lg" />
<asp:ListItem Value="1" Text="CR" />
<asp:ListItem Value="2" Text="OF" />
<asp:ListItem Value="3" Text="RC" />
</asp:DropDownList>
Avatar billede snepnet Nybegynder
11. maj 2006 - 17:10 #5
Sorry ... .Text findes kun i version 2.0, som så ikke er den du bruger :o)
Du kan godt finde dit Item på anden vis (du forudsætter en rækkefølge i det du har lavet nu, som ikke er sikkert holder, så vidt jeg lige kan se det).
Du kan finde et Item sådan her:

ListItem item = someDropDownList.Items.FindByText("tekst");
item.Selected = true;

eller bare (og også) :
someDropDownList.Items.FindByValue("tekst").Selected = true;

Mvh
Avatar billede stinejh1980 Nybegynder
15. maj 2006 - 10:18 #6
Hvad så hvis jeg sjkal hente teksten fra Db.
Normalt ville jeg skrive.
DropSombredde.SelectedItem.Text = ObjRs("Sombredde")

Hvad er så syntaksen med din kode.
For jeg går ikke ud fra at man kan skrive:
DropSombredde.Items.FindByValue("sombredde").Selected = True;

Vælger den så den linie i dropdown som matcher sømbredde på posten i min Db??
Avatar billede stinejh1980 Nybegynder
15. maj 2006 - 10:30 #7
Så dan bliver min dropdown oprettet:
Function OpretDropSombredde()

    StrSQL = "Select * from sombredde;"
OpenRullemenuDB()
    DropSombredde.Datasource = objComm.ExecuteReader()
    DropSombredde.DataValueField = "Value"
    DropSombredde.DataTextField = "TextSombredde"
    DropSombredde.Databind()

ObjConn.close()
End Function

Kilden til dropdown er:
Value    Text
0    -
1    Se diverse
2    -
3    9 mm 1 x mellem  /  9 mm 1 x mellem
4    9 mm 1 x mellem  /  22 mm 2 x mellem
5    11 mm 1 x mellem  /  11 mm 1 x mellem
6    11 mm 1 x mellem  /  22 mm 2 x mellem
7    11 mm 1 x mellem  /  33 mm 3 x mellem
8    22 mm 2 x mellem  /  44 mm 4 x mellem

Hvis der i min post i db står '11 mm 1 x mellem  /  11 mm 1 x mellem' så vil jeg gerne have den til at vælge linien i dropdown med value 5. Men jeg vil havde den til at vælhe ud fra tekst og ikke value fordi ellers skal jeg til at lave en value på alle kolonner i min Db
Avatar billede snepnet Nybegynder
15. maj 2006 - 21:27 #8
Du kan skrive:
DropSombredde.Items.FindByText(ObjRes("sombredde").ToString()).Selected = True;
Hvis altså du får den forventede værdi fra ObjRes.
Mvh
Avatar billede stinejh1980 Nybegynder
29. juni 2006 - 13:31 #9
Jeg har brugt din DropProduktlinie.SelectedIndex = [tal] et par gange så nu er det vist på tide at give dig point:-)
Avatar billede snepnet Nybegynder
29. juni 2006 - 22:19 #10
Ok :o)
Beklager at jeg ikke har skrevet her ... Jeg har ikke været online et stykke tid.
Mvh
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