4D Ajax Framework

Transcription

4D Ajax Framework
4D Ajax Framework : Ma première DataGrid
Par Add KOMONCHAROENSIRI, Manager of Internal Systems, 4D Inc.
Note technique 4D-200905-09-FR
Version 1 - Date 1 mai 2009
Résumé
Cet article est une première introduction à la DataGrid 2.0 du framework 4D Ajax. Si vous êtes développeur
d'une application Web qui affiche une sélection d'enregistrements et que vous vouliez y intégrer de la
technologie Web 2.0, cet article est pour vous. Dans cette note technique, vous apprendrez ce que le
framework 4D Ajax a à offrir de mieux concernant la visualisation des données, à la fois dans le client 4D
Ajax Framework et dans une page HTML personnalisée. La discussion portera sur l'intégration des données
dans une page HTML. Elle couvrira quelques techniques basiques sur la façon d'utiliser les API Javascript
du framework 4D Ajax pour manipuler l'objet DataGrid et contrôler certaines fonctionnalités qui sont en
standard dans l'objet DataGrid.
4D Notes techniques
Copyright © 1985-2009 4D SAS - Tous droits réservés
Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible.
Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte.
L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs
utilisateurs que des tiers.
Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D
SA. La fourniture du logiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence
électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés
ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence.
Aucune partie de ce document ne peut être reproduite ou recopiée de quelque manière que ce soit, électronique ou mécanique, y compris par
photocopie, enregistrement, archivage ou tout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que
l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA.
4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension ®, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques
enregistrées de 4D SA.
Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation.
Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple
Computer,Inc.
Mac2Win Software Copyright © 1990-2002 est un produit de Altura Software,Inc.
4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,Trumbull,CT,USA.
XTND Copyright 1992-2002 © 4D SA. Tous droits réservés.
XTND Technology Copyright 1989-2002 © Claris Corporation.. Tous droits réservés ACROBAT © Copyright 1987-2002, Secret Commercial
Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'Adobe Systems Inc.
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires
respectifs.
1 / 20
4D Ajax Framework : Ma première DataGrid
Résumé
Cet article est une première introduction à la DataGrid 2.0 du framework 4D Ajax. Si vous êtes développeur
d'une application Web qui affiche une sélection d'enregistrement et que vous vouliez y intégrer de la
technologie Web 2.0, cet article est pour vous. Dans cette note technique, vous apprendrez ce que le
framework 4D Ajax a à offrir de mieux concernant la visualisation des données, à la fois dans le client 4D
Ajax Framework et dans une page HTML personnalisée. La discussion portera sur l'intégration des données
dans une page HTML. Elle couvrira quelques techniques basiques sur la façon d'utiliser les API Javascript
du framework 4D Ajax pour manipuler l'objet DataGrid et contrôler certaines fonctionnalités qui sont en
standard dans l'objet DataGrid.
Introduction
La DataGrid est l'objet le plus communément utilisé pour afficher les données et c'est le choix numéro un
pour la majorité des sites Web Ajax. En comparaison avec les objets 4D, la DataGrid est presque une
ListBox ou une zone 4D View. Dans 4D, les colonnes de listbox peuvent être reliées soit à un champ, soit à
un tableau. Le même comportement peut être trouvé dans la Datagrid. Le champ dans chaque table physique
ou vue sera automatiquement relié à chaque colonne dans la DataGrid. Quand la DataGrid est utilisée avec
une DCS (Developer Created Selections), chaque colonne sera automatiquement reliée à chaque tableau
spécifié pour la DCS.
Dans le framework 4D Ajax, la DataGrid fournit de nombreuses fonctionnalités qui donnent au développeur
beaucoup de contrôles sur le comportement et l'apparence. Avant de commencer à travailler sur la DataGrid
dans votre page HTML, il est important de se familiariser d'abord avec les fonctionnalités basiques de la
DataGrid dans le framework 4D Ajax. La meilleure façon d'appréhender ces fonctionnalités est de les voir à
partir d'un client 4D Ajax Framework.
Le client 4D Ajax Framework
Lors de l'installation initiale du 4D Ajax Framework, toutes les tables apparaitront dans le Client 4D Ajax
framework dans la fenêtre de la DataGrid. Ce type de visualisation peut être modifié au travers du panneau
de configuration.
Dans le Client 4D Ajax Framework, beaucoup de fonctionnalités et de comportements ont été prédéfinis.
Quelques fonctionnalités peuvent être activées ou désactivées par l'Administrateur grâce au panneau de
configuration. Certains peuvent être changés directement par l'utilisateur. La fonctionnalité par défaut de la
DataGrid est :
Barre d'outils
L'option de la barre d'outils se compose de boutons Barre latérale, Ajouter et Supprimer et l'option
Rechercher Basique ou Avancée
2 / 20
L'onglet de recherche ou barre latérale
L'onglet Recherche apparaît automatiquement quand la DataGrid apparaît dans le client 4D Ajax
Framework. Le nombre d'onglets dépend du nombre de recherches prédéfinies par le développeur dans le
gestionnaire de recherche ou par un Developer Hook (dans la base de données). Si aucune recherche
prédéfinie n'est définie pour la table, la DataGrid affichera seulement l'onglet "Tous" les enregistrements de
la table.
La barre latérale est une autre représentation de la recherche prédéfinie. Dans le 4D Ajax Framework,
l'utilisateur peut choisir d'afficher la recherche prédéfinie soit sous la forme d'un onglet soit sous forme d'une
barre latérale, à n'importe quel moment dans la session. Cette option pour changer l'apparence peut être
trouvée en haut de la fenêtre de la DataGrid (comme montré dans la copie d'écran précédente). Une fois que
vous avez cliqué, la barre latérale apparaît à gauche de la grille des données, et le titre du bouton devient
"Onglets", comme montré ci-dessous :
3 / 20
La zone de la grille
La zone de la grille consiste en l'en-tête de colonne, le pied, la colonne de contrôle (première colonne dans la
grille), et la zone de détail. L'en-tête de colonne est cliquable en donnant à l'utilisateur la possibilité de trier
la sélection en se basant sur le contenu de la colonne.
Lorsque une ligne est cliquée, l'icone d'édition en ligne apparaît dans la colonne de contrôle :
Pour modifier l'enregistrement dans l'éditeur plein écran, l'utilisateur peut double-cliquer sur une ligne et
l'éditeur d'enregistrement sera affiché en haut de la DataGrid :
4 / 20
Il y a plusieurs paramétrages dans le panneau de configuration qui affectent la façon dont apparaît et se
comporte la DataGrid.
Visibilité des champs
Dans la section "Propriétés" des "Contrôles d'accès", l'administrateur peut changer le mode de visibilité
pour un champ particulier dans la DataGrid à travers la case à cocher sous la colonne "S". Chaque champ qui
a cette option décochée sera exclu de la réponse retournée par le 4D AJax Framework Serveur (base de
données en backend) vers la DataGrid.
Zone de recherche
La case à cocher sous la colonne "R" représente la propriété de recherche. Cette option apparaît en haut de la
Datagrid seulement si un des champs dans la zone "Propriétés" possède la case "R" cochée :
Ajouter une DataGrid dans votre propre page HTML
Ajouter cette même fonctionnalité de Datagrid du Framework 4D Ajax dans votre propre page HTML peut
être fait en quelques lignes de code. En fonction de ce que vous souhaitez faire, la DataGrid peut être
manipulée par programmation au travers de l'API du 4D AJAX Framework et des CSS. Dans cette section,
nous parlerons des conditions basiques requises pour ajouter avec succès une DataGrid dans une page
HTML.
L'HTML basique qui suit indique ce qui doit être fait quand on intégre un objet du framework 4D Ajax dans
une page HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5 / 20
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="PRAGMA" content="NO-CACHE" />
<meta http-equiv="EXPIRES" content="-1" />
<title>Example 1</title>
<script language="javascript" type="text/javascript" charset="ISO-8859-1" src="/dax/dev/callbacks.js"></script>
<script language="javascript" type="text/javascript" charset="utf-8"
src="/dax/js/localization/resources_en.js"></script>
<script language="javascript" type="text/javascript" charset="ISO-8859-1" src="/dax/js/compile.js"></script>
<!-- stylesheets -->
<link rel="stylesheet" href="/dax/themes/leopard/leopard_gz.css" media="all" type="text/css" />
<!-// -->
</script
</head>
<body>
</body>
</html>
Ce code HTML peut être coupé en 4 parties :
1. Les instructions d'analyse XML
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML
1.0
Transitional//EN"
Ces deux lignes indiquent au navigateur d'analyser les entrées XML avec un certain encodage et valide la
structure XML avec la DTD indiquée.
2. Référence au fichier CSS
<link rel="stylesheet" href="/dax/themes/leopard/leopard_gz.css" media="all" type="text/css" />
De façon à afficher correctement l'objet 4D Ajax Framework tel qu'une DataGrid, un des fichiers CSS
prédéfinis doit être référencé dans la page HTML. Cette CSS sera utilisée pour imposer l'apparence de l'objet
4D Ajax Framework.
3. Référence aux fichiers JavaScript
<script language="javascript" type="text/javascript" charset="ISO-8859-1" src="/dax/dev/callbacks.js">
</script>
<script language="javascript" type="text/javascript" charset="utf-8" src="/dax/js/localization/resources_fr.js">
</script>
<script language="javascript" type="text/javascript" charset="ISO-8859-1" src="/dax/js/compile.js">
</script>
<!-// -->
6 / 20
</script>
Note du traducteur :
Pour utiliser le fichier de ressources en français par exemple, ne pas oublier de modifier le code dans la
méthode Developer Hook DAX_DevHook_Preferences :
C_ENTIER LONG($charSet_l)
`langage à utiliser pour l'interface DAX
DAX_Dev_SetPreference (1;"fr")
`◊DAX_Language_t:="fr"
` doit correspondre à un langage valide dans les fichiers d'erreurs xml
sinon, laissez
<script language=... /... /resources_en.js">
dans la page HTML.
*** fin de la note du traducteur.
Les trois premières lignes sont obligatoires. Elles sont utilisées pour référencer les API Javascript nécessaires
pour le 4D Ajax Framework. La référence à "resources_fr.js" garantit que tous les messages du framework
apparaîtront en français. Vous pouvez choisir d'appeler la ressource rédigée en français, allemand, espagnol
ou japonais simplement en changeant les deux caractères dans le nom du fichier. Voici un exemple :
Anglais
<script ... src="/dax/js/localization/resources_en.js"></script>
Allemand
<script ... src="/dax/js/localization/resources_de.js"></script>
Espagnol
<script ... src="/dax/js/localization/resources_es.js"></script>
Japonais
<script ... src="/dax/js/localization/resources_ja.js"></script>
La place entre “<!--” et“// -->” est réservée pour vous permettre de mettre votre propre code.
4. Emplacement de la DataGrid
C'est la zone dans la balise <Body>. Vous devez simplement traiter cette zone si vous voulez placer la
DataGrid directement dans un endroit précis de la page. Si tel est le cas, vous aurez besoin de créer une
balise <Div> avec un id spécifique ainsi le framework 4D Ajax connaîtra exactement l'endroit où la
DataGrid doit apparaître.
Pour construire une DataGrid, vous devez exécuter du Javascript pour la créer puis du JavaScript pour la
charger dans la page HTML.
7 / 20
Construction de la DataGrid
var myGrid = new dax_dataGrid(
selection,
location,
headerRows,
lockedLeftColumns,
useControlColumn);
selection
nom de la sélection (Table, vues ou DCS)
location
à omettre ou spécifier null si vous souhaitez afficher la DataGrid en fenêtre flottante, ou faites référence à
une notation en noeud ; vous devez indiquer la largeur et la hauteur en pixels.
headerRows (optionnel)
nombre de lignes d'en-tête. La première ligne d'en-tête est automatiquement renseignée par les titres et
permet le redimensionnement de la colonne, le tri, et la sélection. Par défaut : 1 (la ligne de titre compte
comme un en-tête).
lockedLeftColumns (optionnel)
nombre de colonnes verrouillées à gauche.
useControlColumn (optionnel)
montre la colonne de contrôle sur la gauche. True par défaut. Utilisée pour l'édition en ligne.
Affichage de la DataGrid
myGrid.go();
Une fois que la DataGrid est construite, la fonction go() lancera l'objet DataGrid sur le navigateur.
La DataGrid accède directement aux données d'un table spécifique. Ainsi, il est obligatoire que la connexion
web soit authentifiée. Chaque page HTML doit lancer une connexion avant la construction de la DataGrid et
chaque vue d'objet avec données.
La connexion 4D Ajax Framework
dax_login(Username, Password);
Une fois que la connexion a été correctement validée, vous devez procéder à la création de la DataGrid à
l'intérieur de la fonction nommée dax_loginSuccess().
Maintenant que vous avez vu les bases, vous pouvez commencer à ajouter votre DataGrid dans la page
HTML.
8 / 20
1. en utilisant la même page HTML, nous allons ajouter la fonction de connexion durant l'événement de
onload de la fenêtre :
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C// ... xhtml1-transitional.dtd">
<html>
<head>
<link .../leopard.css" media="all" type="text/css" />
<script ... src="/dax/js/localization/resources_en.js"></script>
<script ... src="/dax/js/compile.js"></script>
<script type="text/javascript">
<!-window.onload = dax_login('User1', 'UserPass');
// -->
</script>
</head>
2. Une fois la connexion réussie, construisez et affichez la DataGrid "Contacts". L'exemple suivant montre
comment construire une DataGrid flottante à l'intérieur d'une page HTML. En appelant la fonction nommée
dax_dataGrid sans référence à une balise <Div>, on affichera automatiquement la DataGrid en fenêtre
flottante :
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C// ... xhtml1-transitional.dtd">
<html>
<head>
<link .../leopard.css" media="all" type="text/css" />
<script ... src="/dax/js/localization/resources_en.js"></script>
<script ... src="/dax/js/compile.js"></script>
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', null, 1, 0, false);
myGrid.go();
}
// -->
</script>
</head>
9 / 20
3. En remplaçant la valeur null dans la fonction dax_dataGrid par une référence DIV, la DataGrid est
intégrée directement dans la page HTML.
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C// ... xhtml1-transitional.dtd">
<html>
<head>
<link .../leopard.css" media="all" type="text/css" />
<script ... src="/dax/js/localization/resources_en.js"></script>
<script ... src="/dax/js/compile.js"></script>
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), null, null, false);
myGrid.go();
}
// -->
</script>
</head>
<body>
<div id="mydiv" style="width: 800px; height: 290px; border: 1px solid #CCCCCC;"></div>
</body>
</html>
Changer l'apparence de la DataGrid
Changer l'apparence de la DataGrid peut se faire à tout moment. Dans cette section nous allons survoler
quelques modifications d'apparence basiques que vous pouvez appliquer aux API JavaScript de la DataGrid
10 / 20
Changer la hauteur de ligne
La hauteur de la ligne de la grille peut être changée en une hauteur spécifique en pixels grâce à une fonction
nommée setRowHeightInPx(). Cette fonction doit être exécutée pour une DataGrid spécifique. Le résultat
de l'exécution affecte toutes les lignes de la DataGrid, les lignes d'en-tête et de pied incluses.
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Artist', $('myDiv'), 0, 0, false);
myGrid.go();
myGrid.setRowHeightInPx(50);
}
// -->
</script>
Changer la largeur de colonne
La largeur de la colonne peut être modifiée comme la hauteur de ligne. La modification de la taille d'une
colonne se fait sur une colonne à la fois. La fonction qui fait cela s'appelle setColumnWidth(column,
pixel).
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 0, 0, false);
myGrid.go();
myGrid.setColumnWidth(0, 40);
}
// -->
</script>
Notez que la numérotation des colonnes commencent par 0 pour finir à N-1.
Mise en place du nombre de lignes d'en-têtes et de leur hauteur
Le nombre de lignes d'en-tête doit être prédéfini dans la fonction dax_dataGrid.
Voici un exemple de différents résultats pour différentes valeurs de lignes d'en-têtes :
// Ne pas afficher d'en-tête
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 0, 0, false);
11 / 20
// Afficher une ligne d'en-tête
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
// Afficher deux lignes d'en-tête
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 2, 0, false);
Une fois que toutes les lignes d'en-tête ont été construites, vous pouvez appliquer une nouvelle hauteur pour
chacune d'elle avec la fonction nommée setHeaderHeight(header-rowindex, header-unit). En voici la syntaxe :
myGrid.setHeaderHeight(header-row-index, header-unit);
L'exemple suivant montre comment doubler la hauteur de la seconde ligne d'en-tête.
12 / 20
<script type="text/javascript">
<!-window.onload = dax_login('User1', 'UserPass');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 2, 0, false);
myGrid.go();
myGrid.setHeaderHeight(1, 2);
}
// -->
</script>
Mise en place du nombre de zone de pieds et leur hauteur
Par défaut, la zone de pied n'est pas visible dans la DataGrid. Vous devez l'activer avec la fonction
setFooterRows(). Cette fonction vous permet de spécifier le nombre de zone de pieds qui apparaîtront dans
la DataGrid. Notez que l'exécution de setFooterRows() doit être faite avant l'exécution de la commande
go().
<script type="text/javascript">
<!-window.onload = dax_login('Guest', ' ');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.setFooterRows(2);
myGrid.go();
}
// -->
</script>
13 / 20
Dans cet exemple, les deux lignes de pied sont ajoutées à la DataGrid. La hauteur de chaque ligne est la
même que celle des lignes de détail.
Pour changer la hauteur de ligne de pied, la fonction setFooterHeight() doit être exécutée pour une ligne de
pied particulière. Dans la DataGrid, la ligne de pied commence à 0 jusqu'à N-1.
Exemple : mise en place du premier pied de page à 3 :
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.setFooterRows(2);
myGrid.go();
myGrid.setFooterHeight(0, 3);
}
// -->
</script>
Exemple : mise en place du second pied de page à 3 :
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.setFooterRows(2);
myGrid.go();
14 / 20
myGrid.setFooterHeight(0, 3);
myGrid.setFooterHeight(1, 3);
}
// -->
</script>
Fonctionnalités de contrôle
Lorsque l'on intégre une DataGrid dans une page HTML personnalisée, toutes les fonctionnalités ne sont pas
automatiquement disponibles. Le développeur devra décider si ces fonctionnalités sont utiles et si elles
doivent être autorisées. Les fonctionnalités comme les barres d'outils, recherches prédéfinies, et options
d'édition seront autorisées ou pas par programmation au travers des API JavaScript.
Barre d'outils
La barre d'outils consiste en quatre options :
1. Bouton de création d'enregistrement
2. Bouton de suppression d'enregistrement
3. Option de recherche
4. Bouton DDW (seulement si un bouton est assigné à la sélection)
Les trois premières options peuvent être disponibles grâce à la fonction showToolbar().
La fonction peut être exécutée pour activer toutes ces options par un simple appel. Elle peut aussi être
exécutée pour activer chaque option. Lorsque showToolbar() est exécutée, la barre d'outils apparaîtra en
haut de la DataGrid.
Exemple 1 : affichage du bouton de création.
<script type="text/javascript">
window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
15 / 20
myGrid.go();
myGrid.showToolbar(['createrecord']);
}
</script>
Exemple 2 : Affichage du bouton de création et de suppression.
<script type="text/javascript">
window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.go();
myGrid.showToolbar(['createrecord']);
myGrid.showToolbar(['deleterecords']);
}
</script>
Exemple 3 : affichage des options de création, suppression et recherche :
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.go();
myGrid.showToolbar(['createrecord']);
myGrid.showToolbar(['deleterecords']);
myGrid.showToolbar(['search']);
}
// -->
</script>
16 / 20
Exemple 4 : affichage des options d'ajout, de suppression et de recherche en une seule ligne de code :
<script type="text/javascript">
window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.go();
myGrid.showToolbar(['createrecord', 'deleterecords', 'search']);
}
</script>
Recherche prédéfinies
La DataGrid offre deux façons d'afficher une recherche prédéfinie dans une zone DataGrid.
En fonction des préférences, le développeur peut choisir d'afficher la recherche prédéfinies d'une (ou des
deux) façon(s).
1. Onglet de recherche
Les onglets apparaîtront au-dessus de la zone DataGrid. Le nombre d'onglets dépend du nombre de valeurs
renvoyées par la recherche spécifiée par l'administrateur. Pour afficher les onglets, la fonction
showQueryTabs() doit être exécutée. Notez que cette commande peut être exécutée avant ou après
l'exécution de la fonction go().
17 / 20
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.go();
myGrid.showToolbar(['createrecord', 'deleterecords', 'search']);
myGrid.showQueryTabs();
}
// -->
</script>
Les onglets de recherche peuvent aussi être cachés en exécutant la fonction hideQueryTabs().
2. Barre latérale
La barre latérale de recherche peut être affichée en appelant la fonction showQuerySidebar(). La barre
latérale apparaîtra automatiquement sur le côté gauche de la DataGrid si on appelle showQuerySidebar()
sans paramètres.
Sinon le développeur peut passer soit ‘left’ soit ‘right’ pour préciser la position de la barre latérale.
Exemple 1 : Affichage de la barre latérale à gauche :
<script type="text/javascript">
<!-window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.go();
myGrid.showQuerySidebar('left');
}
// -->
</script>
Exemple 2 : Affichage de la barre latérale à droite
18 / 20
<script type="text/javascript">
window.onload = dax_login('Guest', '');
function dax_loginSuccess(){
myGrid = new dax_dataGrid('Contacts', $('mydiv'), 1, 0, false);
myGrid.go();
myGrid.showQuerySidebar('right');
}
</script>
Mode Edition
Par défaut, l'édition standard (dans le formulaire de saisie) est opérationnelle. Lorsque l'utilisateur doubleclique sur un enregistrement, l'éditeur apparaît en tant que fenêtre flottante permettant à l'utilisateur de faire
des modifications dans l'enregistrement. L'éditeur est le même que l'éditeur du client 4D Ajax Framework. Il
ne peut pas être personnalisé.
La DataGrid aussi possède une fonctionnalité d'édition en ligne. Cette fonctionnalité est indisponible par
défaut. Le développeur peut l'autoriser en mettant en place le 5ème paramètre de la fonction dax_dataGrid
à true. La valeur true indique au constructeur de la DataGrid d'afficher la colonne de contrôle dans la
DataGrid. Une fois que la colonne de contrôle est active, la fonction allowInlineEditing() doit être exécutée
de façon à afficher l'option d'édition en ligne dans la colonne de contrôle.
myGrid.allowInlineEditing(true)
19 / 20
Pour éditer un enregistrement, l'utilisateur doit cliquer sur l'icône d'édition et la modification de champ sera
disponible. Notez que l'icône d'édition est alors changée en icône de validation.
Conclusion
Cette note technique a abordé les bases de la DataGrid du 4D Ajax Framework et montré ce que vous
pouvez en attendre en intégrant cet objet dans vos propres pages HTML.
Note du traducteur
Base Exemple :
La base exemple est ajoutée à la version française de la note. Il s'agit simplement d'une base "Contacts".
C'est la page html "exemple1.html" qui est chargée automatiquement. Vous pouvez aussi tester d'autres
fonctionnalités de la DataGrid que celles montrées dans cette note, avec les pages "exemple2.html" et
"exemple3.html".
Attention : ne pas oublier d'installer au préalable, dans le dossier "Components", le Framework 4D Ajax.
**** fin de la note du traducteur
20 / 20