AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Knoten filtern über Checkboxen in XML Datei
Thema durchsuchen
Ansicht
Themen-Optionen

Knoten filtern über Checkboxen in XML Datei

Ein Thema von Luckie · begonnen am 4. Mai 2006 · letzter Beitrag vom 5. Mai 2006
 
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Knoten filtern über Checkboxen in XML Datei

  Alt 4. Mai 2006, 19:20
Ich schicke dir mal meinen Schichtplan, dann stellst du solche Fragen, wenn ich daheim bin.
Also, hier erst mal eine Notlösung (muss gleich pennen, habe morgen Frühschicht ):

XML-Code:
<xsl:template match="log">
  <html>
  <head>
     

     <script type="text/javascript"><![CDATA[
     
        function toggle(obj)
        {
           cb = document.getElementById(obj + "_cb");
           if (cb == null) return;
           
           cells = document.getElementsByTagName("TR");
           for (i = 0; i < cells.length - 1; i++)
           {
              if (cells[i].getAttribute("id") == obj)
              {
                 cells[i].style.display = (cb.checked)?"":"none";
              }
           }
        }
     
     ]]></script>
  </head>
  <body>
     <input type="checkbox" id="Debug_cb" checked="checked" onclick="toggle('Debug');"/> Debug


     <input type="checkbox" id="Info_cb" checked="checked" onclick="toggle('Info');"/> Informationen


     <input type="checkbox" id="Task_cb" checked="checked" onclick="toggle('Task');"/> Aufgaben


     <input type="checkbox" id="Warning_cb" checked="checked" onclick="toggle('Warning');"/> Warnungen


     <input type="checkbox" id="Error_cb" checked="checked" onclick="toggle('Error');"/> Fehler




     
</xsl:template>


<xsl:template match="Info|Task|Error|Warning|Debug|Hint|Start|Ende">
   <tr>
      <xsl:attribute name="class">
         
      </xsl:attribute>



      <xsl:attribute name="id"><xsl:value-of select="name()"/></xsl:attribute>



      <td><xsl:value-of select="name()"/></td>
      <td><xsl:value-of select="@TS"/></td>
      <td><xsl:apply-templates /></td>
   </tr>
</xsl:template>
Wie du hoffentlich siehst, habe ich ein weiteres Attribut ("id") für jede Tabellenzeile (tr) erstellt, dass als Inhalt den Namen der Aktion bekommt (Info, Warning, usw.). Oben in der HTML-Seite sind entsprechende Checkboxen ergänzt, die auch den Namen tragen (mit "_cb"-Postfix).
Klickst du eine Checkbox an, dann toggelt das Skript los: Es ermittelt den Status der gewählten Checkbox, sucht sich dann alle Tabellenzeilen und schaltet die auf sichtbar oder unsichtbar.

Bisher aufgetretenes Problem: Wenn du eine Box abwählst und die Seite per F5 neu lädtst, dann baut sich der XML-Code komplett auf, aber die Box bleibt abgewählt. In dem Fall musst du 2x klicken, um die unerwünschten Infos zu verbergen. Wenn dir das reicht, soll es mir recht sein.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz