Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Visa vald post i listboxen när sidan laddas om

Postad 2001-11-21 av Pelle Johansson i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 3563, Betyg: 100%

Förord

Om du har en listbox innehållande massor av alternativ - hur skall du då göra för att kunna markera samma alternativ igen när du sedan laddat om sidan? Detta exempel är skrivet med förutsättning att vi har artiklar som vi hämtar ut en lista med artiklar som man kan välja mellan. Varje artikel har ett id vilket gör att alla artiklar är unika och kan således identifieras.
Innehåll
  » Koden för att visa listboxen
  » Hämta ut valt id
  » Hela funktionen samlad
  » En annan teknik
  » Den tredje varianten
  » Om det inte fungerar..

Vi börjar med att låtsas att ett recordset innehåller följande data:
1 - Radio & TV
2 - Internet
3 - Video
4 - DVD
5 - Övrigt

När sidan startas, så skapar vi denna lista. Nedan körs en sql-sats och resultatet av den ser ut som enligt ovan. Vi börjar med att loopa i recordsetet. Om värdet ID överensstämmer så skall posten vara vald, annars inte.


<%
' -- hämtar lista med de egna posterna
set rst=con.execute("select id, namn from kommunikationstyper")
Do while not rst.eof
Selected = ""
If Clng(Id) = cLng(rst(0)) then selected = " selected"

lstArtiklar = lstArtiklar & "" & vbCrLf
rst.MoveNext
Loop
rst.close
%>



Koden för att visa listboxen

Nu har vi en sträng innehållande html-kod för att presentera alla artiklar. Då är det enkelt att skriva en option som innehåller resultatet.







Ovan har vi skapat en form som vi döper till form1. Den skall submitta sig själv och när man i listboxen byter alternativ kommer den att göra en submit enligt onChange - anropet.


Hämta ut valt id

När du nu valt ett alternativ så kommer sidan laddas om - då är det dags att ta reda på vilket alternativ det är. Vi gör en förfrågan till objektet lstArtiklar såsom vi döpte select-boxen ovan.


<%

Id = Request("lstArtiklar")
if Id = "" Then Id = -1

' -- hämtar lista med de egna posterna
set rst=con.execute("kommunikationSel")
Do while not rst.eof
....


Om nu det fanns något alternativ valt så kommer vi att fånga upp det med id. Så som du ser i första exemplet ovan så står det If cLng(id) = cLng(rst(0)) . Det gör att om nu Id innehåller något annat än -1 så kommer den att automatiskt bli selekterad.


Hela funktionen samlad

Jag tänkte lägga ihop dessa tre block nu för att visa hur hela programkoden ser ut i detta exempel.


<%

Id = Request("lstArtiklar")
if Id = "" Then Id = -1

' -- hämtar lista med de egna posterna
set rst=con.execute("kommunikationSel")
Do while not rst.eof
Selected = ""
If Clng(Id) = cLng(rst(0)) then selected = " selected"

lstArtiklar = lstArtiklar & "



En annan teknik

Det kan också vara så att det inte finns tillräckligt många poster att det anses intressant att använda sig av ett anrop till databasen. Då kan du istället använda dig av en array för att uppnå samma resultat.


<%

arrayData = "Radio & tv;Internet;Video;DVD;Övrig"

Dim alternativ
alternativ = Split(arrayData, ";")

Id = Request("lstArtiklar")
if Id = "" Then Id = -1

For a = 0 To Ubound(alternativ) - 1
Selected = ""
If Clng(id) = cLng(alternativ(a)) then selected = " selected"

lstArtiklar = lstArtiklar & "


Här använder vi en sträng som vi separerar varje alternativ med ett semikolon. Därefter använder vi Split-kommandot för att lägga om dom i en Array och avslutar med att utföra samma sak såsom det hade varit ett recordset. Tänk på att när du använder Split så får första objektet värdet 0,1,2,3,4 osv..


Den tredje varianten

Om du bara har kanske två eller tre alternativ så kan du enkelt göra följande:


<%
Id = Request("lstArtiklar")
if Id = "" Then Id = -1
%>







Om det inte fungerar..


  • Kontrollera att name i

    Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 158
27 952
271 704
1 830
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies