Probleme mit Javascript und Tabular Data Control
Jörn
- javascript
Hallo!
Ich habe folgendes Problem:
Ich nutze TDC um eine Txt-Datei mit 14 Datensätzen auszulesen und in eine Tabelle auszugeben:
<object id="Begriffe" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83" width="192" height="192">
.
.
.
<table id="Anzeigetabelle" datasrc="#Begriffe" style="display:none" width="100%">
<tr>
<td id="tab11"><span datafld="Bezeichnung"></span></td>
<td id="tab11"><span datafld="Seriennummer"></span></td>
<td id="tab11"><span datafld="Leistung"></span></td>
<td id="tab11"><span datafld="Betriebsstunden"></span></td>
<td id="tab11"><span datafld="Status"></span></td>
</tr>
</table>
Jetzt soll die datafld "Status" Zelle aber Inhaltsabhängig seine Hintergrundfarbe mittels folgendem Java-Script ändern:
function Farbe() {
switch (document.all.Anzeigetabelle.dataFld.Status.value) {
case "Störung":
document.all.Anzeigetabelle.dataFld.Status.style.bgColor = "yellow";
break;
case "Inspektion":
document.all.Anzeigetabelle.dataFld.Status.style.bgColor = "yellow";;
break;
case "Betrieb":
document.all.Anzeigetabelle.dataFld.Status.style.bgColor = "yellow";
break;
default:
document.all.Anzeigetabelle.dataFld.Status.style.bgColor = "yellow";
break;
}
Jetzt habe ich zum einen Probleme damit dieses Script aufzurufen (wo muß ich es einbinden?) und zum anderen kann ich mittels document.all.Anzeigetabelle.dataFld.Status.value den Inhalt der Zelle nicht auslesen sondern erhalte nur die Fehlermeldung, das dies kein Objekt sei. Wie spreche ich diese Zellen also richtig an?
Mit freundlichen Grüßen,
Jörn
Hallo!
Ich bins noch einmal! Bei mir ist noch folgendes Problem aufgetaucht:
Wenn ich über die Sort-Funktion des Active-X-Controls die Tabelle sortieren lasse, werden die Textzeilen richtig sortiert (z. B. Bezeichnung), lasse ich aber nach z. B. Betriebsstunden sortieren, so wir von vorne nach hinten sortiert:
richtig: 9, 15, 23, 99, 1023
bei mir: 1023, 15, 23, 9, 99
Ich sortiere mit folgendem Befehl: <param name="Sort" value="">, wobei bei value entweder +Betriebsstunden oder -Betriebsstunden eingesetzt wird. Wie kann ich die Sortierreihenfolge in die richtige Bahn lenken, denn bei MS konnte ich darüber nichts finden.
Mit freundlichen Grüßen,
Jörn
Zu letzterem Problem habe ich nach langem Suchen eine Lösung gefunden. Auf irgendeiner russischen Seite war erklärt, dass man in der Textdatei, die man anlegt den Datentyp definieren kann, ansonsten behandelt das Active-X-Control die Spalten immer wie Text, egal was darin steht. Setzt man aber den Header folgendermaßen auf:
Bezeichnung:STRING|Seriennummer:INT|Leistung:FLOAT|Betriebsstunden:INT|Status
so werden die Bezeichnungen als Text behandelt, die Seriennummern und Betriebsstunden als Integerzahlen, sowie die Leistung als Fließkommazahlen.
Vielleicht konnte ich anderen, die damit ebenfalls Probleme hatten helfen!
Mit freundlichen Grüßen,
Jörn
hallo,
ich denke der Fehler liegt in der Objektbezeichnung.
Versuch doch mal in jede Tabellenzelle einen DIV-Container einzubauen den du mit einer id versiehst und dann mit document.all.Anzeigetabelle.deineID.bgColor anzusprechen.
Alternativ könnte man wohl auch für jede td ne eigene ID verwenden (nicht tab11 für alle) und die dann benutzen.
gruss mipu
<table id="Anzeigetabelle" datasrc="#Begriffe" style="display:none" width="100%">
<tr>
<td id="tab11"><span datafld="Bezeichnung"></span></td>
<td id="tab11"><span datafld="Seriennummer"></span></td>
<td id="tab11"><span datafld="Leistung"></span></td>
<td id="tab11"><span datafld="Betriebsstunden"></span></td>
<td id="tab11"><span datafld="Status"></span></td>
</tr>
</table>
<DIV id="bla" dataformatas="html" datafld="email" datasrc=#adressen>
document.all.bla.bgcolor