Avatar billede fanth Nybegynder
24. april 2011 - 22:53 Der er 4 kommentarer

XML / XLS opdele tabel på flere sider

Jeg har en side hvor jeg vil vise nogle billeder. Jeg har gemt billed navn samt tekst i en xml fil. Jeg præsenterer dem på min side (aspx.net med vb) med en xsl fil.

xml filen ser ud som denne:
<?xml version="1.0" encoding="iso-8859-1"?>
<Site>
    <Image>
        <Name>1.jpg</Name>
        <AltText>Text</AltText>
    </Image>
    <Image>
        <Name>2.jpg</Name>
        <AltText>Text</AltText>
    </Image>
    <Image>
        <Name>3.jpg</Name>
        <AltText>Text</AltText>
    </Image>
</Site>

xls filen:
<?xml version="1.0" encoding="ISO-8859-1"?><!-- DWXMLSource="../XML/Anatomy.xml" -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="image-dir">images</xsl:variable>
<xsl:variable name="namePic">PicName</xsl:variable>
    <xsl:template match="/">
                <xsl:variable name="totalCount">
                    <xsl:value-of select="position() mod 3"/>       
                </xsl:variable>
      <html>
      <body>
        <table border="0" width="90%" align="center">
            <TR>
                <xsl:for-each select="Site/Image">
                <TD>
                    <a href="{$namePic}_Picture.aspx?pic={Name}&alt={AltText}" border="0"><img src="{$image-dir}/{Name}" Alt="{AltText}" Width="200" border="0"/></a>
                </TD>
                    <xsl:if test="position() mod 4 = 0">
                <TR></TR>   
                    </xsl:if>       
                </xsl:for-each>
                </TR>
          <tr>
            <td> </td>
          </tr>
        </table>
      </body>
      </html>
    </xsl:template>
</xsl:stylesheet>




Resultatet bliver en stor tabel ala denne:

pic  1  -  pic  2  - pic  3  - pic  4
pic  5  -  pic  6  - pic  7  - pic  8
pic  9  -  pic 10  - pic 11  - pic 12
pic 13  -  pic 14  - pic 15  - pic 16
pic 17  -  pic 18  - pic 19  - pic 20
.
.
.
pic 41  -  pic 42  - pic 43  - pic 44
pic 45  -  pic 46  - pic 47  - pic 48
.
.
.

Jeg kunne godt tænke mig at få det delt op så jeg kun får vist 16 på en side og der derefter er mulighed for at vælge næste side eller få en liste over "ekstra" sider. Lidt i stil med:

pic  1  -  pic  2  - pic  3  - pic  4
pic  5  -  pic  6  - pic  7  - pic  8
pic  9  -  pic 10  - pic 11  - pic 12
pic 13  -  pic 14  - pic 15  - pic 16
Show 1-16- Show 17-32 -Show 33-48-Show49-64 

Håber der er nogen der har en idé om hvordan jeg får lavet en sådanne tabel.
Avatar billede tjens Nybegynder
25. april 2011 - 22:11 #1
Hvordan sender du XML og XSL til browseren?

Hvis det er javascript, der loader dem begge, og derefter udfører en transform, kan du ændre i XSL via javascript og udføre transform igen.

I denne demo bliver sorteringen lavet via xsl, men hvilket felt der skal sorteres på, bliver ændret via javascript, hver gang man klikker på en overskrift: http://tjens.dk/eksperten/xsl03/showvotes.html
Avatar billede jokkejensen Novice
18. maj 2011 - 13:12 #2
Det er ikke sortering men paging..

Der skal en form for script til, da du bør overføre nogle få variabler til querystring, som side antal etc.

Er du helt på barbund ? eller har du noget konkret xslt man kan kigge på ?

Ellers slå den op under opgaver, så løser jeg gerne til en fornuftig pris.
Avatar billede jokkejensen Novice
18. maj 2011 - 13:13 #3
prøv at google xslt paging, der kommer en del eksempler.

http://www.google.dk/#sclient=psy&hl=da&source=hp&q=paging+xslt&aq=f&aqi=g2&aql=&oq=&pbx=1&bav=on.2,or.r_gc.r_pw.&fp=91ac07df5205cc9c
Avatar billede jokkejensen Novice
18. maj 2011 - 13:14 #4
how, ja - lav selv en søgning :), urladresser fucker vist lidt hvis der er komma i :)
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
Kurser inden for grundlæggende programmering

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