Browse
sioux_browse.js
exemple_browse.html
L'objet Browse est un objet complexe permettant d'afficher une liste d'enregistrements en lignes et colonnes.
browse
L'objet Browse peut être soit déclaré isolément (une déclaration javascript est alors nécéssaire), soit inclus dans un Form, auquel cas la déclaration est automatique.
jsWidth
Largeur totale.
int
600
jsHeight
Hauteur totale.
int
400
jsSize*
Nombre de lignes visibles. Si cet attribut est renseigné il a priorité sur jsHeight.
int
jsFooter*
Indique si le browse doit afficher un bas de page.
boolean
false
jsAutoWidth*
Autorise le browse à ajuster sa largeur. Si cet attribut est renseigné il a priorité sur jsWidth
boolean
false
jsEditable
Permet l'édition des cellules. Si cet attribut est renseigné à true, jsSelectable est automatiquement mis à true aussi.
boolean
false
jsSelectable
Permet de sélectionner des lignes.
boolean
true
jsLocked
Empêche toute édition du browse. On peut vérouiller/dévérouiller le browse par une méthode.
boolean
false
jsWrap
Autorise les cellules à s'agrandir (en hauteur) si leur contenu est trop grand. Si cet attribut est à false, des ellipses (...) s'ajoutent à droite de la cellule.
boolean
false
jsNavButtons
Position des boutons de navigation (mode paginé seulement).
bottom, right, ou none
none
jsPageSize
Nombre de lignes par page. Donner à cet attribut une valeur différente de -1 revient à activer la pagination.
int, ou -1 (tout sur une seule page)
-1
jsColSizes
Définit la largeur de colonnes. Cette définition a priorité sur toute autre définition de largeurs de colonne comme les descriptions contenues dans les DataSets.
string de la forme "default=100;col0=30;col4=150;...".
jsColStyles
Définit des styles spécifiques pour les colonnes.
string de la forme "default=classe1;col0=classe2;col4=classe4;..." où "classeN" est le nom d'une classe de style définie dans une CSS.
jsColPermissions
Définit les autorisations d'éditer les colonnes. Si jsEditable vaut false, cet attribut est ignoré.
string de la forme "default=false;col0=true;...;col3=false"
default=true
jsVisible
Définit si le browse est visible ou non.
boolean
true
jsMultiple
Autorise la sélection multiple.
boolean
false
jsName
Nom de référence du browse dans le forumulaire (s'il est inclus dans un formulaire).
string
load
Charge un flux de données dans le browse.
URL, DataSet name, séparateur (¤ par défaut), libellés
monBrowse.load("htt://serveur/servlet","Emails","¤","Nom;Prénom;Email");
format_browse.xml
true si le chargement a réussi, false sinon
Cette méthode permet de télécharger en arrière-plan un flux de données XML de façon à remplir
le browse. L'URL attendue en paramètre doit correspondre à un fichier XML, une servlet ou un script
(php, perl, ...) renvoyant un flux de données XML.
lock
Bloque toute édition ou manipulation du browse.
Bloque toute édition du browse, y compris les popups et les changements de page.
unlock
Défait la méthode lock().
empty
Vide le contenu des lignes du browse.
Vide le contenu affiché du browse, et vide le cache des données.
reset
Supprime toute les lignes du browse ainsi que le contenu du cache.
getMessage
Renvoit le contenu de la balise <message> du flux de données.
Contenu de la balise <message> du flux de données s'il existe, null sinon.
setAutoResize
Autorise le browse à ajuster automatiquement sa largeur en fonction des colonnes.
un booléen
Le calcul de la largeur des colonnes (et l'ajustement du browse en conséquence) est fait à chaque
appel de la méthode load().
Si true, et si la somme des largeurs des colonnes affichées est inférieure à la largeur donnée pour la déinition du browse, ce dernier s'ajuste en largeur.
getDataSetError
Renvoit les erreurs trouvées dans le flux de données.
une chaîne de caractères
hasNextDataSet
Indique s'il existe un flux de données suivant.
un booléen
hasPreviousDataSet
Indique s'il existe un flux de données précédent.
un booléen
searchReposition
Cherche une ligne de données, affiche la page contenant cette ligne et la sélectionne.
un tableau de valeurs, un booléen
browse.searchReposition("a|b||d".split("|"), true);
Cherche dans le cache du browse la première ligne dont les colonnes ont les mêmes valeurs que le tableau passé en paramètre, puis positionne le browse sur cette ligne (en la sélectionnant si true). Si le tableau contient des valeurs vides, la méthode les ignore pour le test.
Ainsi dans l'exemple ci-dessus, la méthode cherche la première ligne dont la première colonne vaut "a", la deuxième vaut "b" et la quatrième vaut "d". Si cette ligne existe, le browse affiche la page contenant cette ligne, et sélectionne cette ligne.
La méthode renvoit null si aucune ligne n'a été trouvée, ou l'index (dans le cache) de la ligne sinon.
un entier, ou null
getErrorMessage
Renvoit le contenu de la balise <erreur> du flux de données.
Contenu de la balise <erreur> du flux de données s'il existe, null sinon.
getChanges
Renvoit les numéros de lignes modifiées par l'utilisateur.
Renvoit un tableau d'indexes de lignes dont au moins une cellule a été modifiée dans le tableau.
renameHeader
Renomme les entêtes de colonnes du browse.
une liste de libellés séparés par des point-virgule.
renameFooter
Renomme les pieds de colonnes du browse.
une liste de libellés séparés par des point-virgule.
resizeCols
Retaille les colonnes du browse.
une liste d'entiers séparés par des point-virgule.
setFilter
Définit un filtre aux données.
un entier, une chaîne de caractères ou une expression régulière, un booléen
monBrowse.setFilter(3, "dupont", false);
Définit un filtre permettant au browse de n'afficher que les lignes dont la colonne n satisfait : à l'expression régulière (ou regExp) si true, ou contient la chaîne de caractères si false.
Pour annuler le filtre, faire "setFilter(null);".
La méthode setFilter peut être appelée soit juste avant un load() (qui en tiendra compte), soit après un load() mais dans ce cas vous devez lancer la méthode applyFilter() pour que le filtre prenne effet.
Pour plus d'aide sur l'utilisation des regexps, consulter la référence RegExp de Microsoft (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsgrpregexpsyntax.asp).
applyFilter
Applique le filtre de données
Cette méthode est automatiquement lancée par load() lors du chargement des données.
setColStyles
Définit les styles des colonnes du browse.
browse.setColStyles ("header","col0=Class1;col3=Class2");
une chaîne de caractères, une liste de couples [colonne=nom_de_classe]
Impose des classes de styles aux cellules de l'entête, du pied de page ou des lignes de données.
applyColStyles
Applique les styles de colonnes.
Cette méthode est automatiquement lancée par load() lors du chargement des données.
setSmartFormat
Définit un format dynamique pour les cellules du browse.
browse.setSmartFormat("col4¤(val<=18)¤color=#ff0000$col2¤(val=='')¤backgroundColor=#000000,color=#ff0000");
Indique au browse un ou des styles à appliquer aux cellules d'une ou plusieurs colonnes lorsqu'une condition est remplie.
La chaîne de caractères passée en paramètre est de la forme "numColonne¤(expression)¤style $numColonne¤(expression)¤style $..." où (expression) est une condition contenant le mot-clef val (voir exemple ci-dessus).
getSmartFormat
Renvoit les formats dynamiques définis pour le browse.
applySmartFormat
Applique les formats dynamiques.
Cette méthode est automatiquement lancée par load() lors du chargement des données.
getSelectedRow
Renvoit la ligne sélectionnée.
alert(browse.getRowValues(browse.getSelectedRow().index).join('\n'));
Retourne un objet de type <tr> correspondant à la ligne sélectionnée (null sinon).
getSelectedRows
Renvoit une collection de lignes sélectionnées.
Retourne une collection d'objet de type <tr> correspondant aux lignes sélectionnées.
getRowValues
Renvoit le contenu d'une ligne.
un objet de type <tr>
alert(browse.getRowValues(browse.getSelectedRow().index).join('\n'));
Retourne un tableau de valeurs correspondant aux valeurs de la ligne sélectionnée.
getDataRowValues
un entier
Retourne un tableau de valeurs correspondant aux valeurs d'une ligne du cache.
getXMLTagValue
une chaîne de caractères
Renvoit le contenu d'une balise XML du flux de données.
getCurrentPage
un entier
Renvoit le numéro de page courant.
gotoPage
un entier
Affiche une page du browse
firstPage
Affiche la première page.
previousPage
Affiche la page précédente.
nextPage
Affiche la page suivante.
lastPage
Affiche la dernière page.
getNumberOfPages
un entier
Renvoit le nombre de pages.
setPageSize
Définit le nombre de lignes de chaque page.
setCellValue
Définit la valeur d'une cellule.
deleteSelectedDataRow
un entier
Efface une ligne du cache.
updateSelectedDataRow
Met à jour une ligne du cache.
un tableau de valeurs
Met à jour la ligne courante, à l'affichage et dans le cache local, ce qui signifie que la modification est mémorisée.
insertDataRow
Insère une ligne dans le cache.
un tableau de valeurs, un booléen, un booléen
Insère une nouvelle ligne dans le cache local et dans la page courante. Si le deuxième paramètre vaut true, insère en-dessous ; sinon insère au-dessus.
Si le troisième vaut true (valeur par défaut), sélectionne la ligne préalablement sélectionnée.
sort
Trie les données.
monBrowse.sort("0|4|2|5".split("|"), "nombre|chaine|nombre|date".split("|"), "A|D|A|A".split("|"));
un tableau d'entiers, "C" ou "N" ou "D" ou "chaine" ou "nombre" ou "date", "A" ou "D"
Trie le browse dans l'ordre des indexes et types de colonnes passés en paramètre, puis repositionne le browse (méthode searchReposition() sur la ligne préalablement sélectionnée s'il y en avait une.
Le premier paramètre est un tableau d'indexes de colonnes à trier.
Le second paramètre indique le type de tri à effectuer sur chacune de ces colonnes.
Le troisième paramètre indique s'il faut faire un tri ascendant ou descendant (par défaut).
show
Rend le browse visible.
hide
Rend le browse invisible.
reinit
Détruit tout le contenu du browse.
getColumnSize
un entier
un entier
Renvoit la largeur d'une colonne.
getColumnStyle
un entier
une chaîne de caractères (un nom de classe de style)
Renvoit le style d'une colonne.
getColumnPermission
un entier
un booléen
Renvoit les autorisations d'édition d'une colonne.
selectRow
Sélectionne une ligne du browse.
onRowSelect
Déclenché lorsque l'on sélectionne une nouvelle ligne. Retourne la nouvelle ligne.
onCellEnter
Déclenché lorsque l'on entre dans une nouvelle cellule. Retourne la cellule.
onCellLeave
Déclenché lorsque l'on quitte une cellule. Retourne la cellule.
onCellModified
Déclenché si, au sortir d'une cellule, son contenu a été modifié. Retourne la cellule, l'ancienne valeur et la nouvelle valeur.
onLoad
Déclenché lorsque le browse a terminé de se charger avec la méthode load().