DOCUMENTATION SUR LE GESTIONNAIRE DE FORMULAIRES : ClasseGrid.php

AUTEUR : FRANCK OBERLECHNER, Ingénieur Système et Réseaux


 

SOMMAIRE

1. Préambule

2. Installation de la classe

3. Déclaration d'une grille

4. Ajout d'une nouvelle grille

5. L'Aspect de la grille

6. Les boutons de controle

7. L'Affichage

8. LES EXEMPLES

 

 


1) PREAMBULE

La classe ClasseGrid.php permet de déclarer des grilles dynamiques qui sont génèrées à partir de l'exellente librairie JAVASCRIPT : Active Widget


Voir un exemple (si installation achevée)


2) INSTALLATION

Définir un répertoire "include_path" en modifiant le fichier de configuration de PHP %SYSTEMROOT%\PHP.INI sous IIS

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"
;include_path = ".:/php/includes"
;
; Windows: "\path1;\path2"
include_path = "d:/wwwroot/rubappli/communs"

Décompresser dans le répertoire "include_path" du serveur PHP le fichier classeGrid.php et le répertoire classeGrid (ce répertoire contient toutes les ressources nécessaires à la classe)
On obtient l'arborescence :

    .../Répertoire_Include

    _classePath.php
    classeGrid.php
    classeGrid<dir>

Editer le fichier _classePath.php et modifier la ligne DEFINE en terminant par un "/" obligatoirement, la constante INCLUDEPATH doit pointer sur le répertoire ou se situe le fichier classeForms.php et _classePath.php

    // PARAMETRAGE :
    DEFINE('INCLUDEPATH','/rubappli/communs/');

ATTENTION pour que toutes les pages de votre site fonctionnent définir de préférence un chemin absolu ( commencant par un / et donnant le chemin complet depuis la racine du site )

C'est tout ! la classe est maintenant exploitable directement

 

EN OPTION : DEFINITION D'UN THEME DE COULEUR IMPLICITE POUR TOUT LE SITE

Créer un fichier _classeSkin.php dans le répertoire des inclusions

<?php

// 0: Rouge, 1:Bleu, 2:Gris, 4:Vert, 5:Orange
DEFINE('DEFAULT_SKIN', 5);

?>

ce fichier est utilisé par les autres classes classeTableau, classeGrid tous les objets gérés par ces classes bénéficient du même thème de couleurs.

ATTENTION : L'INSTALLATION COMPLETE EST NECESSAIRE POUR TESTER LES EXEMPLES QUI SUIVENT

 

 


3) DECLARATION D'UNE GRILLE

On ne peut déclarer plusieurs grilles par page en suivant le cheminement suivant :

Syntaxe :

<?php

balise de début de code PHP,

include('classeGrid.php');

appel au code de la classe
$grid1 = New Grid; création d'un nouvel objet "grille" : $grid1

$grid1->grd_nouveau(...);

Iinitialisation de l'objet grille par sa dimension et ses élements à afficher

$grid1->grd_couleursalternees(); La grille alternera des lignes de couleurs différentes
$grid1->grd_tooltips(); Une info bulle est affichée sur la cellule avec le résumé de tous les champs
LA DECLARATION DES BOUTONS
   

4) AJOUT D'UNE NOUVELLE GRILLE

La classe permet d'afficher en quelques lignes une grille complexe à partir de données en entrée situées dans une table JAVASCRIPT de la forme :

<script>
var myData1 = [

["12","Service scolaire","20","","SCOLAIRE"],
...
["24","Service de l'Urbanisme","10","","URBA"]

];
</script>

Pour générer facilement une telle table à partir de données en provenance d'une base de données voir la classe classeJS pour un tableau complexe ( condition, mailto, href ) ou bien bdd_tableversarrayjs (classeBases) pour des données brut de requêtes SQL.

ATTENTION La première valeur doit être l'identifiant de l'enregistrement et il sera systématiquement masqué !

$grid1->grd_nouveau("myData1",$nelement1,"550px","308px","0px");

avec :

  1. le nom du tableau JS qui contient les éléments
  2. le nombre d'élément de ce tableau
  3. la largeur de la grille
  4. la hauteur de toutes les cellules [OPTIONNEL] par défaut = 18 pixels

Voir un exemple (si installation achevée)

5) L'ASPECT DE LA GRILLE

5.1) L'ALTERNANCE DE COULEUR

 

Pour rendre un tableau lisible, l'alternance de lignes de couleurs différentes est un très bon moyen

une seule ligne de code :

$grid1->grd_couleursalternees();

 

Voir un exemple (si installation achevée)

 

5.2) LES MODELES DE COULEURS (SKINS)

Pour rendre harmoniser la grille avec la palette du site utiliser les skins

une seule ligne de code :

$grid1->grd_skin();

Voir un exemple (si installation achevée)

 

5.3) LES BULLES D'AIDE (TOOLTIPS)

Pour faire apparaitre la totalité des champs sous la souris dans une bulle

une seule ligne de code :

$grid1->grd_tooltips();

 


6) LES BOUTONS DE CONTROLE

Les 3 grandes fonctions de mise à jour sont : Ajout, Modification, Effacement

on peut les implémenter facilement en 3 lignes.

$grid1->grd_ajouter('void_add.htm');
$grid1->grd_modifier('void_edit.php?ID=');
$grid1->grd_effacer('void_delete.php?ID=');

mais on peut changer le libellé par défaut et la position :

$grid1->grd_ajouter($url, $libelle_du_bouton);
$grid1->grd_modifier($url, $libelle_du_bouton);
$grid1->grd_effacer($url, $libbtn, $adroite=true, $inactif=true,$libmessage="");

Voir un exemple (si installation achevée) Voir un exemple (si installation achevée)


7) LA DECLARATION DES COLONNES ET L'AFFICHAGE

L'ordre $grid2->grd_ajoutcolonne($tableau) permet d'ajouter une colonne au tableau. Les paramètres sont rassemblés dans un HASH ( Tableau avec des clefs comme indices )

$tableau = array( 'title' => 'CONSTRUCTEUR', 'width' => '150px', 'align' => 'right' , 'help' => "C'EST LE NOM DU SERVICE"

'align' => 'left', 'right', 'center'

'sort' => 'string', 'Date', 'Number'

Pour faire apparaitre la totalité du tableau défini

une seule ligne de code :

$grid1->grd_afficher();

 

C'EST TOUT !


8) LES EXEMPLES

sample01_vue.php Vue simple avec boutons standard Ajout, Mofif, Effacer
sample02_sansalternance.php Choisir l'alternance on non
sample03_skins.php Choix d'une palette prédéfinie
sample04_boutons.php Redéfinition des boutons standards
sample05_boutons.php Redéfinition des boutons standards et 2 grilles simultanées
sample06_hauteurcellules.php Modification de la hauteur des cellules
sample07_grandetable.php Gestion de grand tableau de données