Avatar billede erik Nybegynder
26. april 2003 - 11:27 Der er 10 kommentarer og
1 løsning

Listbox og SelectionMode

Hejsa
Bare et lille spørgsmål.. ;)

<asp:listbox id='myMultipleSel' selectionmode='multiple' runat=server>
... ...
</asp:listbox>

giver en multiple select..

Hvorfor får jeg så en compilation error når jeg gør:

<script language='VB' runat='server'>
sub page_load
  myMultipleSel.selectionMode = "multiple"
end sub
</script>
Avatar billede burningice Nybegynder
26. april 2003 - 11:44 #1
fordi at typerne ikke passer sammen... tingene skal ALTID ALTID passe sammen. .Net er et typesafe sprog, så den antager ikke noget. Du skal explicit gøre opmærksom på hvilke typer du bruger.

ms-help://MS.NETFrameworkSDK/cpref/html/frlrfsystemwebuiwebcontrolslistboxclassselectionmodetopic.htm

Gets or sets the selection mode of the ListBox control.

Overridable Public Property SelectionMode As ListSelectionMode

Property Value
One of the ListSelectionMode values. The default value is Single.

ListSelectionMode er en Enum, som har følgende værdier: Multiple, Single (ms-help://MS.NETFrameworkSDK/cpref/html/frlrfsystemwebuiwebcontrolslistselectionmodeclasstopic.htm)

Dvs at i dit tilfælde skal du skrive
myMultipleSel.SelectionMode = SelectionMode.Multiply
Avatar billede erik Nybegynder
26. april 2003 - 11:49 #2
Ok, dvs jeg skal dimme SelectionMode som en ListSelectionMode?
Avatar billede burningice Nybegynder
26. april 2003 - 11:52 #3
my bad... der skal stå

myMultipleSel.SelectionMode = ListSelectionMode.Multiply
Avatar billede erik Nybegynder
26. april 2003 - 11:52 #4
hmm bare en tillægs, -> hvad er den forgyldte fordel ved at gøre det på en måde, hvis jeg bruger en integerværdi (0 = single , 1 = multiple) så kan jeg jo bare bruge

sub page_load
  myMultipleSel.selectionMode = 1 ' = multiple
end sub
Avatar billede erik Nybegynder
26. april 2003 - 11:54 #5
Member name Description
Multiple Multiple item selection mode.
Single Single item selection mode.

(der er ingen multiply ;)
Avatar billede burningice Nybegynder
26. april 2003 - 12:00 #6
arg.. jeg kan ikke stave her til morgen...

myMultipleSel.SelectionMode = ListSelectionMode.Multiple

ulempen ved at bruge integer's er at du om to dage fuldstændig har glemt hvorfor du skrev 1, og hvad den står for.
Avatar billede erik Nybegynder
26. april 2003 - 12:08 #7
ok .. lad mig lige se om jeg har forstået det her ..

når en egenskab på en servercontrol har en type der ikke lige er en af de alm. variable (string, int, bool etc.) - som den kan regne ud ..

så skal man præcisere typen når man tildeler egneskaben en værdi inden for <script></script>

eller hvad ?
Avatar billede burningice Nybegynder
26. april 2003 - 12:35 #8
nej nej... når jeg siger at typerne skal passe sammen, så betyder det, at hvis din servercontrol forventer et tal, så skal du ikke give den en streng. Hvis din mor forventer en banan, så skal du ikke give hende en kartoffel.

I det her tilfælde forventer dit object en ListSelectionMode-enum, så derfor skal du give den sådan en, og ikke en streng.
Avatar billede erik Nybegynder
26. april 2003 - 12:53 #9
Ok min mor plejer at ville have et telefonopkald .. jeg tror jeg fik formuleret mig en smule fjollet .. men jeg tror jeg er ved at have det ..
din mor vil have en banan og hun vil ikke sige hvad hun skal bruge den til ?

;)
Avatar billede erik Nybegynder
26. april 2003 - 12:56 #10
tror ellers jeg er ved at have den -> hvis vil angive ForeColor så forventer den et object af typen "color" (og så skal man importere system.drawing først)

Mange tak ,) - smid li' et svar
Avatar billede burningice Nybegynder
26. april 2003 - 13:03 #11
ja... du skal give den typen color, hvis den forventer det. Dog lader det til at du har misforstået det med Imports (using). Du importerer ikke System.Drawing, ligesom man f.eks. gør i Java.
System.Drawing er et namespace hvori der ligger en masse typer. Du kan se det lidt ligesom at System.Drawing er en mappe, og typerne er dine filer. Ved at skrive Imports System.Drawing i starten gør du opmærksom på at du vil bruge filer fra den mappe. På den måde slipper du for at skrive System.Drawing.Color hver gang, men kan nøjes med bare Color. Når du kompilerer din kode, så bliver Color automatisk skiftet ud med System.Drawing.Color, og alle dine imports bliver slettet. På den måde er det altså fuldstædning underordnet om du gør det på den ene eller anden måde :)
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