<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Dies wurde ursprünglich hier veröffentlicht: Objektorientierte JSL - Beispiele? aber ich wollte dieses Thema von OOP und das Konzept des datablen Objekts isolieren.
Erstens kann meiner Meinung nach das Datum selbst bereits als Objekt betrachtet werden.
dt1 = NewTable () - Erstellt eine neue "Instanz" von Datatable
ShowProperties (dt1) - Zeigt alle "Eigenschaften" und "Methoden" für das Datatable-Objekt dt1 an.
Ich bin neugierig, ob die Community Datatable-Erweiterungen für nützlich hält. Man kann daran denken, das vorhandene datierbare Objekt mit zusätzlichen Eigenschaften und Methoden zu "erweitern", wie in Drews Antwort. Ich dachte darüber nach, zusätzliche Funktionen wie:
1 Rowstate-Handler.
2 Spalte und Zeile, Erkennung hinzufügen / löschen.
3. Änderungsverlauf der Tabellenzelle.
4 Datenbox (Displaybox)
In der OOP-Terminologie könnte also ein möglicher "Konstruktor" für das DatatableObject aussehen, in dem Member-Variablen und -Funktionen deklariert werden.
Die Idee dahinter, das Objekt auf diese Weise zu deklarieren, besteht nicht nur darin, eine replizierbare Entität zu erstellen, sondern auch die Funktionen und Ausdrucksnamen deutlich zu erkennen, die verwendet werden können, wenn sie vollständig definiert sind.

Meine Version des NewDatatableObject (Teilliste). Hier sind die Mitgliedsfunktionen tatsächlich definiert:


So erstellen wir beispielsweise zwei separate Instanzen von DatatableObject:

Diese Tabellen haben jetzt "erweiterte" Eigenschaften eingebaut. In diesem Beispiel werden einige Tabellenaktionen verfolgt, z. B. das Erkennen der Zeilenauswahl und das Löschen von Spalten / Zeilen.


Man kann sich auch eine Reihe weiterer nützlicher Funktionen vorstellen, die mit dieser Methode implementiert werden könnten. Stimmen andere zu, dass es einen Grund gibt, solche Erweiterungen zu erstellen?