Description
Structures_DataGrid
est un paquetage qui propose de générer une structure en tableau
rendue pour un format spécifique à partir
d'une grille de données.
Les formats possibles de sortie sont (X)HTML,
XML, XUL, les fichiers
.xls du tableur excel, CSV,
des tableau en console.
Le format de données d'entrée est indépendant de la couche
fondamentale de stockage de données :
Ca n'a pas d'importance si les données ont été choisies parmi une base
de données, récoltées à partir des fichiers textes ou converties depuis
un appel de service web.
Les données peuvent être triée et paginées,
et chaque cellule de la table
peut faire l'objet d'une personnalisation
d'apparence via l'utilisation des
CSS pour la sortie HTML.
Où commencer
Donc, pour commencer, vous devez trouver une source de données, comme
une base de données MySQL ou un document XML.
Vous pouvez facilement relier cette source de données
à votre grille de données et pour se faire,
vous avez 3 solutions.
La première est de récupérer vos données dans un tableau à 2 dimensions
et le passer dans la méthode bind().
La seconde est de lier un jeu d'enregistrements
qui n'est pas encore un tableau,
comme un objet DB_DataObject
ou un objet DB_Result.
Pour cela, vous pouvez utiliser la méthode bindDataSource
crée par un objet DataSource.
La troisième est de boucler sur un jeu d'enregistrements
et d'ajouter chaque enregistrement individuellement ;
cette méthode reste la moins efficace.
Note :
Si vous liez la grille de données à une source de données
qui est un objet comme un objet DB_DataObject,
vous n'avez pas besoin de récupérer les données,
car le DataGrid le fera pour vous.
Générer la sortie
Une fois que votre grille de données a été remplie avec vos enregistrements,
vous avez beaucoup d'options pour manipuler ce qui doit être montré.
Vous pouvez trier les données, choisir de ne montrer qu'une certaine
quantité d'enregistrements par page et choisir également
dans quel format les données doivent être rendues.
Vous pouvez choisir un rendu de la grille de données en
pas mal de formats y compris HTML