DevTrain

Autor: Andreas Rauch

Data Islands - oder die simpelste Datenbank der Welt

Ok, Data Islands bieten nicht die volle Funtkionalität einer Datenbank, aber zum Visulisieren, Navigieren oder auch sortieren von Daten tun sie ihre Dienste. Interessant wird die Sache aber nicht für Besitzer von  Webspace ohne Möglichkeiten für Datenbankanwendungen. Die Performance ist nämlich sehr hoch!

Also wie gehts?

Der Clou an dieser Geschichte ist, daß im HTML Quelltext oder auch extern XML Daten eingebettet sind.

Entweder inline:

<XML ID=xmladressen>
<?xml version="1.0" ?>
<ANSCHRIFT>
<ADR>
 <NAME>Alex Becker</NAME>
 <ORT>IMOSTEN</ORT>
 <TEL>08677/988123</TEL>
 <FAX>08677/9881244</FAX>
 <EMAIL>ossialex@becker.de</EMAIL>
</ADR>
....

oder extern:

<XML ID=xmladressen src="adressen.xml">

Sie sehen schon. Es ist wichtig den Daten eine ID zu verpassen, denn unter dieser ID greifen wir auf die Daten später wieder zu.

So, nun aber die Frage. Wie greife ich auf die Daten zu? Dazu stehen im HTML Code (z.B. Table) folgende Attribute zu Verfügung:

datasrc: Angabe der Datenquelle über ID
datafld: Datensatz 

<TABLE DATASRC='#xmladressen' BORDER =1 CELLPADDING=3>
              <THEAD>
                <TR>
                  <TH>NAME</TH>
                  <TH>ORT</TH>
                  <TH>TEL</TH>
                  <TH>FAX</TH>
                  <TH>EMAIL</TH></TR>
              </THEAD>
              <TR>
                <TD><SPAN DATAFLD="NAME"></SPAN></TD>

So nun wollen wir noch bestimmen wieviele Datensätze in einer Tabelle ausgegeben werden sollen und Navigationsbutton dürfen selbstverständlich auch nicht fehlen.


Über datapagesize geben wir einen Default Wert an. Hier in unseren Beispiel lasse ich den Wert von einem Inputfeld übernehmen, so daß man die Ausgabezeilen selbst beinflussen kann.

<INPUT TYPE=TEXT VALUE=2 onblur="tbladressen.dataPageSize= this.value;">

Über die Events .recordset.movefirst()
  .recordset.movenext()

beispielsweise kann ich den Datensätzen navigieren.

<INPUT ID="first" TYPE=button VALUE="<<" onClick="xmladressen.recordset.moveFirst()">
<INPUT ID="prev" TYPE=button VALUE="<" onClick="if (xmladressen.recordset.absoluteposition >  1) xmladressen.recordset.movePrevious()">
<INPUT ID="next" TYPE=button VALUE=">" onClick= "if(xmladressen.recordset.absoluteposition < xmladressen.recordset.recordcount) xmladressen.recordset.moveNext()">< BR> <INPUT  ID="last" TYPE=button VALUE=">>" onClick="xmladressen.recordset.moveLast()">
<script language="JScript">

 
 Zum Schluß wolen wir noch wissen, wie wir die Anzahl der Datensätze ausgeben.

Hier hilft uns wieder ein Javascript weiter, in dem wir den Max. Wert herausfinden und in einem Input Feld auf einen Klick ausgeben lassen.

<script language="JScript">
   <!--
            function maxwert()
             {
                var max =xmladressen.recordset.recordcount
          Ergebnisfeld.value = max; 
             }
    //-->
             </script>  
            <h2>Ermitteln der vorhandenen Datensätze</h2>
           <input type=button value="Datensätze ermittelt" onClick="maxwert()">
    Ergebnis: <input type=text name="Ergebnisfeld">
            <BR><BR>           

Das gesamte Beispiel können sie natürlich auch hier herunterladen.

Viel Spaß damit... und nicht vergessen: Das funktioniert nur ab IE5.


Erfasst am: 22.06.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=472
© Copyright 2003 ppedv AG - http://www.ppedv.de