Translations of this page:

Die edit_table Stellt eine Tabelle dar die editiert werden kann. Die Speicherung der editierten Daten muss der Verwender der edit_table selbst übernehmen, die edit_table stellt Methoden zur Verfügung um die geänderten und neuen auszulesen.

Die edit_table ist eine Subklasse der datatable.

edit_table(target, cols, colTitles, colWidths) [Konstruktor]

Insanziert die edit_table

  • target: ein DOM-Elemnt, oder id eines DOM-Elementes, in welches die Tabelle gezeichnet werden soll
  • cols: numerisches Array der anzuzeigenden Spalten, bestimmt die Spaltenreihenfolge
  • colTitles: optional, Hashtable, Schlüssel : Spaltenname, Wert: deren Beschriftung
  • colWidths: optional, Hashtable, Schlüssel : Spaltenname, Wert: Breite in Pixeln

drawTable(data, pos, sortedCol, sortDir)

Funktioniert wie drawTable in der datatable

  • data: Numerisches Array der anzuzeigenden Datensätze
  • pos: optional, Setzt die Startposition, macht eigentlich nur Sinn im Zusamenhang mit Cachtabellen
  • sortedCol: optional, eine der angezeigten Spalten. Diese bekommt dann eine spezielle CSS-Klasse so dass ein kleines Pfeilchen angezeigt wird das angibt dass die Daten nach dieser Spalte sortiert sind.
  • sortDir: optional, in welche Richtung sortiert ist („ASC“ oder „DESC“), um den Pfeil auch richtig darzustellen.

ACHTUNG: Die Tabelle sortiert die Daten nicht selbst, Sie müssen dafür sorgen dass die Daten auch nach der Spalte sortiert vorliegen die Sie sortedCol angeben

setEditor(colName, editor)

Setzt eine speziellen Editor für die Spalte colName. Ein editor muss sich von der Klasse input (in modules/tools/input.js) ableiten. Die Tabelle benutzt die Funktionen detValue und getValue der Ihr übergebenen Editoren. Ausserdem setContainer das in app definiert ist.

Wird auf eine Spalte kein Editor gesetzt so wid ein normales Textfeld als Editor verwendet (Klasse input)

Um eine Spalte read-only zu machen den editor auf null setzten Beispiele:

table.setEditor('id', null);                           // Id read-only
table.setEditor('income', new number_input(null));     // Einkommen muss eine Zahl sein
table.setEditor('birthday', new dateinput(null));      // Muss ein Datum sein, speicherformat: YYYY-MM-DD, angezeigt: DD.MM.YYYY

var abteilungen = {'R&E':'Entwiklung', 'Prouktion':'Prouktion', 'Sales':'Verkauf', 'Einkauf':'Einkauf'};
table.setEditor('department', new selector(null, abteilungen));     // Auswahlfeld

undo()

Macht alle Änderungen rückgängig.

newEntry()

Fügt eine neue Zeile hinzu und springt dorthin.

isEdited()

Gibt an ob etwas editiert wurde (hinzugefügt oder vaerändert).

getUpdatedRows(idAsKey)

Gibt eine Hashtabelle aller Zeilen zurück indenen etwas verändert wurde. Als Schlüssel dient der Wert der Spalte die als idCol (setIdCol, siehe datatable) gesetzt wurde.

Wird das optionale Argument idAsKey auf false gesetzt, oder keine Saplte als idCol definiert wurde, retournert die Methode ein numerisches Array der veränderten Zeilen.

Die Zeilen selbst sind als Hashtabellen modelliert, Schlüssel: Spaltenname, Wert: Wert der Zelle

getInsertedRows()

Gibt ein numerisches Array aller Zeilen zurück die neu hinzugefügt wurden. Die Zeilen selbst sind als Hashtabellen modelliert, Schlüssel: Spaltenname, Wert: Wert der Zelle

getAllEditedRows()

Gibt ein numerisches Array aller Zeilen zurück die neu hinzugefügt oder verändert wurden. Die Zeilen selbst sind als Hashtabellen modelliert, Schlüssel: Spaltenname, Wert: Wert der Zelle. Entspricht eigentlich:

var updated = table.getUpdatedRows(false);  // als numerisches Array
var inserted = table.getInsertedRows();
 
dev/edit_table.txt · Zuletzt geändert: 26.07.2007 11:13 von kaegi
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki