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 / Forum översikt / inlägg

Posta nytt inlägg


Visa nästa rad i databas

Postades av 2011-08-10 12:43:00 - Bo Persson, i forum asp.net generellt, Tråden har 13 Kommentarer och lästs av 2513 personer

Hej Jag har letat och provat olika saker men kan inte få det att fungera att visa nästa rad från databas. Någon som har något tips, allt är av intresse. //Bo


Svara

Sv: Visa nästa rad i databas

Postades av 2011-08-12 10:37:53 - Bo Persson

Jag har provat följande men det funkar inte

Protected Sub btnLagg2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLagg2.Click
        listView1.SelectedIndex = listView1.SelectedIndex + 1

    End Sub


Svara

Sv: Visa nästa rad i databas

Postades av 2011-08-12 20:51:40 - Robin Ridderholt

Förklara gärna lite mer om hur du menar med "nästa rad från databas"! I ditt exempel ser det ut som att du hämtar ut en antal rader från din databas och populerar en ListView.

I vilken situation vill du hämta "nästa rad"? Är det när användaren har klickat på ett Item i din lista och din applikation har "svarat" på det klicket?

Vi började titta på en lösning för ett liknande problem där vi ville hämta "nästa rad" från databasen, problemet vi hade var att vi inte bara kunde ta det aktuella databas id't och addera 1 och hämta posten via det id't eftersom de rader vi visade inte kom i den ordningen från databasen. Utan det vi tillsvidare gjorde var att hämta hela listan igen (eftersom det bara rörde sig om ca 20 rader) och sedan på server-sidan "leta reda på" den post med det aktuella id't och då kunde vi plocka fram nästa rad.

Hoppas detta iaf kan leda dig vidare!


Svara

Sv:Visa nästa rad i databas

Postades av 2011-08-12 22:09:14 - Bo Persson

Hej Robin jag har gjort ett bildgalleri med ett x antal bilder inom en viss kategori. När man klickar på en image button kommer man till en förstoring av den valda bilden. Det är inte säkert att det är nästa rad i databasen, men ska vara nästa bild inom kategorin. Jag har försökt att hämta alla bilderna inom kategorin. Sedan får jag inte rätt på att hoppa fram eller bak för att byta bild inom kategorin. //Bo


Svara

Sv: Visa nästa rad i databas

Postades av 2011-08-13 14:52:39 - Robin Ridderholt

Visa gärna lite kod på hur du hämtar alla bilderna inom en kategori så kanske vi kan lösa hur du får till funktionen att hoppa fram och tillbaka mellan bilderna. N

Nyckeln ligger egentligen i att du sorterar alla bilderna inom en kategori på samma sätt hela tiden.


Svara

Sv:Visa nästa rad i databas

Postades av 2011-08-13 20:35:34 - Bo Persson

Jag har försökt att skriva om coden utan resultat, även försökt att hitta bättre code att använda. //Bo

Denna ImageButton finns på sida1 där olika kategorier av bilder förekommer, ett klick på bilden vidare till bildgalleriitem.aspx.

bildgalleri.aspx

<asp:ImageButton id="PictureURImage" runat="server" 
ImageUrl='<%# Eval("PictureURL", "~/Images/BildGalleriImage/Bilder/1/{0}") %>' 
AlternateText='<%# Eval("Category") %>' width="115" Height="79" 
style="float:left; border: none; margin-right: 5px; margin-left: 5px;" 
 PostBackUrl='<%# string.format("BildgalleriItem.aspx?tblBildgalleri_ID={1}&Category={0}", 
Eval("Category"), Eval("tblBildGalleri_ID")) %>'></asp:ImageButton>
 



bildgalleriitem.aspx

'Denna bild ändras när jag klickar på ImageButton id="PictureURImage" enligt nedan.
'Jag vill ändra denna bild och göra den klickbar så att nästa bild inom kategorin visas
<asp:sqldatasource id="SqlDataSource1" runat="server"
        selectcommand="SELECT * FROM [TblBildgalleri] WHERE ([tblBildgalleri_ID] = @tblBildgalleri_ID)"
        connectionstring="<%$ ConnectionStrings:RoggeUnited %>">
        <SelectParameters>
            <asp:QueryStringParameter Name="tblBildgalleri_ID" QueryStringField="tblBildgalleri_ID" Type="Int32"></asp:QueryStringParameter>
        </SelectParameters>
    </asp:sqldatasource>
    
    <asp:formview id="FormView1" runat="server" datakeynames="tblBildgalleri_ID" datasourceid="SqlDataSource1">
        <ItemTemplate>
            <asp:Label Visible="false" Text='<%# Eval("PictureURL") %>' runat="server" ID="PictureURLLabel" />
            <asp:Image ImageUrl='<%# Eval("PictureURL", "~/Images/BildgalleriImage/Bilder/2/{0}") %>' runat="server" id="PictureURL" Height="440" Width="550" />
            
            <br />
            
        </ItemTemplate>
        <FooterTemplate>
              [Föregående] [Välj ny bildkategori]
        </FooterTemplate>
    </asp:formview>

'Denna kod hämtar alla bilderna inom kategorin, jag skullle vilja göra så att vald bild enligt sida1 (bildgalleri.aspx)
' blir i fokus då kan jag använda denna till att enbart visa vald bild för att sedan klicka mig framåt respektive bakåt.
 <asp:sqldatasource id="SqlDataSource7" runat="server"
        selectcommand="SELECT * FROM [TblBildgalleri] WHERE ([Category] = @Category)"
        connectionstring="<%$ ConnectionStrings:RoggeUnited %>">
        <SelectParameters>
            <asp:QueryStringParameter Name="Category" QueryStringField="Category" Type="Int32"></asp:QueryStringParameter>
        </SelectParameters>
    </asp:sqldatasource>
    
    <asp:datalist id="DataList1" runat="server" datakeyfield="tblBildGalleri_ID" datasourceid="SqlDataSource7"
        RepeatColumns="1" CellPadding="6" EnableViewState="false">
        <ItemTemplate>
    <table border="0"><tr><td>
        
           <asp:ImageButton id="PictureURImage" runat="server" ImageUrl='<%# Eval("PictureURL", "~/Images/BildGalleriImage/Bilder/1/{0}") %>' 
AlternateText='<%# Eval("Category") %>'
                 width="115" Height="79" style="float:left; margin-right: 5px; margin-left: 5px;" 
 
 
 PostBackUrl='<%# string.format("BildgalleriItem.aspx?tblBildgalleri_ID={1}&Category={0}", 
Eval("Category"), Eval("tblBildGalleri_ID")) %>' BorderColor="Blue" BorderStyle="Ridge" BorderWidth="1"></asp:ImageButton>
           
            </td></tr></table>
            
        </ItemTemplate>
        
    </asp:datalist>


Svara

Sv: Visa nästa rad i databas

Postades av 2011-08-14 20:18:43 - Robin Ridderholt

Testa mig fram med liknande exempel och jag hade också problem med SelectedIndex. Jag insåg ganska snabbt att problemet beror på att när jag sätter SelectedIndex så har listan av (i ditt fall) bilder redan renderats.

Så jag googlade lite på detta och som jag misstänkt måste man sätta SelectedIndex innan DataBind körs på din DataList.

Det jag skulle föreslå är att du instället för att göra allt med databindning i aspx-filen gör detta programatiskt i code-behind. Dvs du hämtar din lista med bilder, via QueryString-parametern så kan du loopa igenom listan och leta reda på den aktuella bilden. Då har du också möjlighet att samtidigt plocka fram föregående och nästa bild i listan.

Jag hittade denna länk som beskriver en liknande situation i VB.NET: http://datawebcontrols.com/demos/SelectMostRead.aspx
Eftersom jag själv bara utvecklare i C# så var det lättare att googla fram ett exempel istället för att göra ett eget, hoppas du har överseende med det :)

Hojta till igen om du stöter på problem med detta exempel eller har fler funderingar!


Svara

Sv:Visa nästa rad i databas

Postades av 2011-08-15 08:48:23 - Bo Persson

Tack för du la ner tid att leta. Jag provade scriptet men jag fick inte det att generera något. Fick inga felmeddelande. Jag provade även att byta ut ClickThroughs mot tblBildgalleri_ID

<asp:DataList id="dlArticles" runat="server" AutoGenerateColumns="False" Font-Size="10pt" Font-Names="Verdana">
    <HeaderStyle font-size="13pt" font-bold="True" horizontalalign="Center" forecolor="White" backcolor="#006699"></HeaderStyle>
    <AlternatingItemStyle backcolor="#EEEEEE"></AlternatingItemStyle>
    <ItemTemplate>

		<b>Kategori:</b> <%# DataBinder.Eval(Container.DataItem, "Category")%><br>
		<b>Views:</b> <%# DataBinder.Eval(Container.DataItem, "ClickThroughs") %>
	</ItemTemplate>
	<SelectedItemTemplate>
		<font size="+1">
			<b>Article:</b> <%# DataBinder.Eval(Container.DataItem, "PictureURL") %><br>
			<span style="background-color:yellow;"><b>Views:</b> <%# DataBinder.Eval(Container.DataItem, "ClickThroughs") %></span>
		</font>
	</SelectedItemTemplate>
</asp:DataList> 

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        If Not Page.IsPostBack Then
            dlArticles.DataSource = GetArticles()
            dlArticles.DataBind()
        End If
    End Sub


    Function GetArticles() As DataTable
        Dim connectionString As String = "RoggeUnited"
        Dim sqlConnection As SqlConnection = New SqlConnection(connectionString)

        Dim queryString As String = "SELECT TOP 10 tblBildGaller_ID, [tblBildgalleri].[Category], [tblBildgalleri].[PictureURL], [tblBildgalleri].[DateToShow], [tblBildgalleri" & _
"].[Beskrivning], [tblBildgalleri].[ClickThroughs] FROM [tblBildgalleri] ORDER BY NEWID()"
        Dim sqlCommand As SqlCommand = New SqlCommand(queryString, sqlConnection)
        Dim sqlAdapter As SqlDataAdapter = New SqlDataAdapter(sqlCommand)

        Dim dt As New DataTable()
        sqlAdapter.Fill(dt)

        'Find the row with the most views
        Dim highViewCount = 0, highViewIndex = -1, i As Integer
        For i = 0 To dt.Rows.Count - 1
            If dt.Rows(i)("ClickThroughs") > highViewCount Then
                highViewCount = dt.Rows(i)("ClickThroughs")
                highViewIndex = i
            End If
        Next i

        'Set the selectedindex
        dlArticles.SelectedIndex = highViewIndex

        Return dt
    End Function



Svara

Sv: Visa nästa rad i databas

Postades av 2011-08-15 16:09:01 - Robin Ridderholt

Test något i stil med detta istället:


        Dim highViewCount = 0, highViewIndex = -1, i As Integer
        For i = 0 To dt.Rows.Count - 1
            'OM QueryString-variabeln med ditt Bild-Id är samma som den aktuella raden
            If dt.Rows(i)("tblBildGaller_ID") = Request.QueryString("tblBildgalleri_ID") Then
                highViewIndex = i 'Spara index
            End If
        Next i

        dlArticles.SelectedIndex = highViewIndex
       Return dt


Svara

Sv:Visa nästa rad i databas

Postades av 2011-08-15 18:12:06 - Bo Persson

Jag vet inte vad jag gör för fel men sidan jag får upp är fortfarande blank. //Bo


Svara

Sv: Visa nästa rad i databas

Postades av 2011-08-16 22:02:31 - Robin Ridderholt

Vet inte om det har något med problemet att göra men i dina kodexempel så skiljer sig SQL-namnet på den kolumn som verkar vara din ID-kolumn.

I det ena exemplet så heter den tblBildGalleri_ID och i det andra står det tblBildGaller_ID. Tänkte bara om det kunde vara orsaken till att du inte får några träffar eller om det rent av fallit bort ett "i" när du kopierade in koden här?


Svara

Sv:Visa nästa rad i databas

Postades av 2011-08-17 06:23:59 - Bo Persson

Tack för att du upptäckte det, trots att jag ändrade visas inget resultat. Jag får väl klura ut något. Fick tips om AJAX av en kompis, men jag kan inget om det. //Bo


Svara

Sv: Visa nästa rad i databas

Postades av 2011-08-22 17:42:10 - Robin Ridderholt

Hej Bo,

Hur går det med detta problem?
Om du inte har löst det tänkte jag sätta mig under veckan och så om jag kan göra en exempel applikation som liknar din och se om jag kan lösa problemet. Dock så skulle ett sådant exempel vara gjort i C# eftersom att mina VB färdigheter lämnar mer att önska.


Svara

Sv:Visa nästa rad i databas

Postades av 2011-08-22 20:08:27 - Bo Persson

Jag har tyvärr inte haft tid att göra mer åt detta problem kommer att ta upp det igen i början på nästa år, studierna tar all tid. Du behöver inte lägga tid på det nu. Tack! //Bo


Svara

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 165
27 952
271 704
2 455
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