mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 12:12 Benutzername: Passwort: Auto-Login

Thema: Tabelle enthält Farbcode, zu sehen sein soll farbiges Feld vom 08.12.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Tabelle enthält Farbcode, zu sehen sein soll farbiges Feld
Seite: 1, 2  Weiter
Autor Nachricht
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Sa 08.12.2012 14:40
Titel

Tabelle enthält Farbcode, zu sehen sein soll farbiges Feld

Antworten mit Zitat Zum Seitenanfang

Eine scrollbare Tabelle (DIV-Konstrukt) enthält in einer Zelle Farbcodes in HTML-Schreibweise, z.B. '#ff00ff', diese stammen aus einer Datenbank. Sichtbar werden soll aber nicht dieser Code als Text, sondern eine farbige Fläche in genau dem Ton.

Nun hat eine Tabellen-Zelle keinen "onload" oder "onview"-Event, so dass ich während des Aufbauens auf dem Bildschirm hier z.B. Zellenhintergrund und Zellenschrift in die selbe Farbe bringen könnte, oder? Bitte Tips.

Ich habe schon einen 'langen" weg gefunden, finde den aber momentan zu umständlich. Da die Daten aus einer Datenbank stammen, könnte ich, bevor ich per PHP den Tabellecode zusammensetze, die Informationen entsprechend verarbeiten und gleich die Tabelle so hinschreiben. Lieber wäre mir aber eine clientseitige Live-Variante per "Intelligenter" Tabelle ... geht das?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
easteregg

Dabei seit: 15.02.2003
Ort: Deutschland
Alter: 36
Geschlecht: Männlich
Verfasst Sa 08.12.2012 15:39
Titel

Antworten mit Zitat Zum Seitenanfang

Müsste doch eigentlich gehen wenn du style.backgroundColor dem innerHTML gleichsetzt.
Poste mal deinen Code, der nicht klappt.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Sa 08.12.2012 16:58
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
Poste mal deinen Code, der nicht klappt.


Ich habe noch keinen Code, der nicht klappt. Das oben war nur ein Beipiel für Vorab-Überlegungen. Wie man den Hintergrund eines Tabellenfeldes setzt ist ansich nicht das Problem. Mit fehlt der passende Event ('onview' - gibts nicht) oder ich muss mich nach dem Anzeigen der Tabelle zeilenweise durcharbeiten und die Felder nachträglich setzen ... habe da jetzt 'was gefunden, worauf ich evtl. aufbauen kann:

rowCount = document.getElementById('myTableID').rows.length
und
document.getElementById(tableId).getElementsByTagName("tbody")[X].getElementsByTagName("tr").getElementsByTagName("td") ...

Liefert mir die Anzahl der Zeilen und eine Zelle in der Zeile, die gehe ich in einer Schleife entlang und werde mal nach dem Feld mit dem Farbcode parsen und dann per "GetElementById" irgendwie ... mal sehen.


Zuletzt bearbeitet von qualidat am Sa 08.12.2012 16:59, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Sa 08.12.2012 17:23
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

tab=document.getElementById('tr000').getElementsByTagName("tbody")[0];
row=tab.getElementsByTagName("tr")[0];
cell=row.getElementsByTagName('td')[0];
alert(cell.innerHTML);


Mit diesem Code komme ich an den Zelleninhalt, sowohl lesend als auch (so hoffe ich) den style (und damit die Farbe) setzend ... cell.style.backgroundColor="'"+cell.innerHTML+"'" ... mal sehen ...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Sa 08.12.2012 17:42
Titel

Antworten mit Zitat Zum Seitenanfang

http://jsfiddle.net/Jwu37/
  View user's profile Private Nachricht senden
qualidat
Threadersteller

Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht: Männlich
Verfasst Sa 08.12.2012 18:00
Titel

Gelöst!

Antworten mit Zitat Zum Seitenanfang

Habs!
Code:

function setcolor(table_id,column_nr)
{
    tab=document.getElementById(table_id).getElementsByTagName("tbody")[0];
   
    for (i=0; i<tab.rows.length; i++)
    {
        row=tab.getElementsByTagName("tr")[i];
        cell=row.getElementsByTagName('td')[column_nr];
        code=cell.innerHTML;
        cell.style.backgroundColor=code;
        cell.style.color=code;
    }

}


Dürfte ziemlich universell sein ... *Thumbs up!*


Zuletzt bearbeitet von qualidat am Sa 08.12.2012 18:01, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Sa 08.12.2012 21:28
Titel

Antworten mit Zitat Zum Seitenanfang

achso. ich dachte die zellen sollen eingefärbt werden, sobald sie im sichtbaren bereich liegen. in diesem fall hier mein (etwas optimierter) ansatz ohne jquery und gedöns: http://jsfiddle.net/Jwu37/5/

Zuletzt bearbeitet von sahnemuh am Sa 08.12.2012 21:28, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Karlarsch

Dabei seit: 05.02.2007
Ort: -
Alter: 58
Geschlecht: Männlich
Verfasst So 09.12.2012 12:13
Titel

Antworten mit Zitat Zum Seitenanfang

Also mit jQuery finde ich es "etwas" einfacher ... und übersichtlicher:

Code:
$('td').each(function() {
        var colr = $(this).text()
        $(this).css('background-color',colr).css('color',colr);
    });


Gruß
Karl
  View user's profile Private Nachricht senden
 
Ähnliche Themen RGB HEX-Farbcode
Illustrator - SVG enthält die Grafikstile nicht
CSS: <div>-Container enthält jpg, stretching und verkleinern
Höhe aus Tabelle auslesen und in andere Tabelle einfügen
Bild das nur text enthält in Kurven umwandeln. geht das.
2-farbiges Logo in Photoshop (HKS Farben)
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.