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


Komma åt olika tabeller i dataset från en repeater

Postades av 2004-12-16 14:06:13 - Joachim Feldt, i forum asp.net generellt, Tråden har 2 Kommentarer och lästs av 382 personer

Hej,

Vi har ett register med böcker. Jag gör GUI-lagret och har en fråga om asp:repeater.

När jag anropar metoder för att lista böcker eller för att få all information om en enskild bok får jag tillbaks ett dataset med 7 tabeller. I dom flesta av dessa är det många till många relationer.

När jag visar sidan för en enskild bok går det bra, då gör ungefär så här:

Dim objFacade As Facade_Services.fcdMaintainBook
Dim tdsBook As tdsBookComplete

objFacade = New Facade_Services.fcdMaintainBook
tdsBook = objFacade.getBookById(sAccessToken, i_iObjectID)

'För att lista alla författare
Dim tdsAuthors As tdsBookComplete.AUTHORDataTable
Dim tdrAuthors As tdsBookComplete.AUTHORRow

tdsAuthors = tdsBook.AUTHORS

For Each tdrAuthors In tdsAuthors.Rows
   lblAuthor.Text = lblAuthor.Text & tdrAuthors.AUTHOR_NAME & "<br>"
Next

Liknande gör jag för de andra tabellerna också.

Men när jag har en lista på labböcker använder jag en asp:repeater förstår jag inte hur jag ska göra? Jag behöver fortfarande all information i alla tabellerna.

Så här ser repeatern ut i html-läget:
<asp:Repeater id="rptMyLabBooks" runat="server">
   <ItemTemplate>
     <%# getRow ( Container.DataItem ) %>
   </ItemTemplate>
   <HeaderTemplate>Lite html-kod...</HeaderTemplate>
</asp:Repeater>


Funktion getRow ligger i code-behind där skickar jag tillbaks en sträng som skriver ut raden färdigformaterad och att rätt saker(ikoner,länkar..osv) visas.
Så här ungerfär:
Public Function getRow(ByVal DataItem As Object) As String

Dim drvBook As DataRowView = DirectCast(DataItem, DataRowView)
Dim sRow As String
Dim iBookID As Integer = CType(drvBook("OBJECTID"), Integer)
Dim sBookName As String = CType(drvBook("NAME"), String)
Dim dStartDate As Date = FormatDateTime(drvBook("STARTDATE"), DateFormat.ShortDate)
Dim iStatus As Integer = CType(drvBook("STATUS"), Integer)
'Plus en hel del till......

sFirstRow = "<tr><td>......massahtml....</td></tr>"

Return sFirstRow

End Function


Min fråga här:
Hur kommer jag mina olika tabeller i datasetet i denna funktionen? Hur loopar jag igenom t ex mina authors?

Gick detta att förstå?

Jag känner mig helt låst här, så jag skulle uppskatta lite hjälp!!

Tackar på förhand!

/Jocke


Svara

Sv: Komma åt olika tabeller i dataset från en repeater

Postades av 2004-12-16 22:06:50 - Pelle Johansson

Ett dataset kan ta emot flera resultat, ex:

<code>
create procedure hej
as
set nocount on

select * from tabell1
select * from tabell2
</code>

<code>
for each dr in ds.tables(0).rows
a = dr("fältnamn")
next

for each dr in ds.tables(1).rows
b = dr("fältnamn")
next
</code>

Sen hur du implementerar detta i din facadmodell får du hitta på nåt snyggt.


Svara

Sv:Komma åt olika tabeller i dataset från en repeater

Postades av 2004-12-17 11:03:41 - Joachim Feldt

Hej,
Tack för svaret.

Jag löste det så här:

I funktionen getRow anropar jag funktioner, en för t ex Authors.

Public Function getRow(ByVal DataItem As Object) As String

Dim drvBook As DataRowView = DirectCast(DataItem, DataRowView)
Dim sRow As String
Dim iBookID As Integer = CType(drvBook("OBJECTID"), Integer)
Dim sBookName As String = CType(drvBook("NAME"), String)
Dim dStartDate As Date = FormatDateTime(drvBook("STARTDATE"), DateFormat.ShortDate)
Dim iStatus As Integer = CType(drvBook("STATUS"), Integer)
'Plus en hel del till......

sFirstRow = "<tr><td>" & getAuthors(iBookID) & "</td></tr>"

Return sFirstRow

End Function


Sen ser getAuthors ut så här
'tdsBook skapas längst upp på sidan av typen tdsBookComplete

Private Function getAuthors(ByVal i_iBookID As Integer) As String

        Dim tdsAuthor As tdsBookComplete.AUTHORSDataTable
        Dim tdrAuthor As tdsBookComplete.AUTHORSRow
        Dim dvAuthor As DataView
        Dim sAuthor As String

        If Not tdsBook Is Nothing Then
            tdsAuthor = tdsBook.AUTHORS
            dvAuthor = tdsBook.Tables("AUTHORS").DefaultView
            'Loop and filter on current book
            For Each tdrAuthor In dvAuthor.Table.Select("IDBOOK = " & i_iBookID)
                sAuthor = sAuthor & tdrAuthor.TITLE & "<br>"
            Next
        Else
            sAuthor = ""
        End If

        Return sAuthor

End Function


/Jocke


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 601
27 953
271 705
4 456
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