<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Cela a été posté à l'origine ici: JSL orienté objet - Des exemples? mais je voulais isoler ce sujet de la POO et le concept de l'objet datatable.
Premièrement, à mon avis, le datatable lui-même peut déjà être considéré comme un objet.
dt1 = NewTable () - Crée une nouvelle "instance" de Datatable
ShowProperties (dt1) - Affiche toutes les "propriétés" et "méthodes" de l'objet Datatable dt1.
Je suis intrigué de savoir si la communauté trouverait des extensions Datatable utiles. On peut penser à "étendre" l'objet datatable existant avec des propriétés et des méthodes supplémentaires, comme dans la réponse de Drew. J'ai pensé avoir des fonctionnalités supplémentaires comme:
1. Rowstate Handler.
2 Colonne et ligne, détection Ajouter / Supprimer.
3 Historique de changement de cellule de tableau.
4 Databox (Displaybox)
Ainsi, dans la terminologie de la POO, un "constructeur" possible pour l'objet DatatableObject pourrait ressembler à, où les variables et les fonctions membres sont déclarées.
L’idée sous-jacente de déclarer l’objet de cette manière n’est pas seulement d’établir une entité réplicable, elle permet également de voir clairement les noms de fonctions et d’expressions qui deviendront utilisables une fois qu’ils seront complètement définis.

Ma version de NewDatatableObject (liste partielle). Voici où les fonctions membres sont réellement définies:


Ainsi, par exemple, nous créons 2 instances distinctes de DatatableObject:

Ces tables ont maintenant des propriétés "étendues" intégrées. Dans cet exemple, certaines actions de table sont suivies, telles que la détection de la sélection de lignes et les suppressions de colonnes / lignes.


On peut également imaginer une foule d’autres fonctions utiles, qui pourraient être implémentées avec cette méthode. Est-ce que d’autres sont d’accord pour dire qu’il est judicieux de créer de telles extensions?