Commentaires

 

1 . 2013-09-28 02:56:04

Olivier a écrit:

Bonjour,

Je voudrais savoir s'il est possible d'insérer dans un tableau des scripts javascripts sans que le filtre ne cesse de fonctionner?

J'ai tenté d'insérer quelques fontionnalités dans mon tableau et le filtre a cessé de fonctionner...

Email : olivier AT pukanina DOT com


2 Réponses

1 . 2013-09-30 07:00:26

Olivier a écrit:

Bonjour Max,

Oui, effectivement, ce n'étaient pas les scripts, j'ai dû modifier le nom du tableau (je ne me souviens pas quand), du coup, ça ne pouvait plus fonctionner... merci! :)

Email : olivier AT pukanina DOT com


2 . 2013-09-29 12:51:32

Max a écrit:

Salut,
Je ne pense pas que ce soit le fait que il y ait des scripts dans le tableau le problème, c'est plutot l'emplacement des scritps qui pourrait poser problème. Par exemple ceci pourrait être limite:
<tr>...</tr>
<script>...</script>
<tr>...</tr>

Essaye de mettre tes scripts à l'intérieur de balises <td>.
Et également assure toi que tes scripts ne génèrent pas des erreurs javascript, parce que des erreurs js pourraient compromettre l'execution du script...

Email :


Haut de page

2 . 2013-09-19 20:39:57

Fifiricky a écrit:

Bonjour Max,

Merci pour ton superbe travail.

J'ai acheté la license complémentaire.

J'ai un problème avec l'affichage du menu help, du menu columns ainsi que des SELECT dans les headers.

Sous IE les menus help et columns ne sont visibles que sur la première ligne comme si il passait derrière le cadre exterieur du Grid. Pour les selects ils ne sont jamais plus larges que la collonne. Ce qui me pose problème pour les colonnes contenant des icones.

J'ai testé sous Firefox et Safari et là pas de problème.

Peux-tu m'aider ?

Merci d'avance.

Email : philippe DOT crebeck AT mac DOT com


2 Réponses

1 . 2013-09-22 09:46:20

Philippe a écrit:

Bonjour,

Merci pour ta réponse.

J'ai déjà intégré ce code dans ma page.

La mise en forme est bonne à l'exception de ses deux paramètres.

J'ai cru qu'il s'agissait du paramètre Z-index mais visiblement même ça, ne me permet pas de résoudre le problème d'affichage.

Malheureusement, je suis contraint d'utiliser IE6 et rien d'autre. Config standard de ma boîte !!!

Email : philippe DOT crebeck AT mac DOT com


2 . 2013-09-22 06:51:31

Max a écrit:

Merci Philippe.
Essaye d'importer la feuille de style dans ta page si tu ne l'as pas fait:
...
<link rel="stylesheet" type="text/css" href="TableFilter/filtergrid.css" />
...

Le script importe dynamiquement la feuille de style si elle n'y est pas de toute facon, mais il se peut que la hierarchie des classes ne soit pas la même surtout sous IE...

Email :


Haut de page

3 . 2013-07-16 17:36:13

Olivier a écrit:

Bonjour,

J'ai un petit problème d'ancres.

Par exemple, j'ai une page avec une liste de tableaux qui ont chacun leurs filtres respectifs et chaque <div> qui contient ces tableaux a une id pour pouvoir revenir dessus.
Plusieurs soucis, par exemple, j'ai des liens qui ouvrent des formulaires qui ont aussi leur id pour arriver direct sur ce formulaires mais ça m'envoie plus bas que l'ancre définie, pareil quand j'ai une action sur une autre fichier php et que je reviens sur la page avec les tableaux sur une ancre définie, ça m'envoie plus bas.

Quand je désactive les filtres sur les tableaux, tout revient à la normale...

Email : olivier AT pukanina DOT com


6 Réponses

1 . 2013-07-28 12:05:36

Max a écrit:

Salut Olivier,
Essaye d'importer le fichier javascript de l'extension dans ta page, si tu ne l'as pas encore fait:
<script src="TableFilter/TFExt_ColsResizer/TFExt_ColsResizer.js" language="javascript" type="text/javascript"></script>
Ceci evitera au script d'importer l'extension dynamiquement, ça pourrait regler ce problème de chargement de l'extension.

Tiens moi au courant et à bientôt.
Max

Email :


2 . 2013-07-27 01:23:12

Olivier a écrit:

Mille excuses, j'ai balancé plusieurs réponses en peu de temps mais je ne peux modifier les messages déjà écris.

Donc, peut-être est-ce là un début de réponse...
Le problème d'ancre apparemment n'existe que dans cette page où les tableaux sont générés dans une boucle. En ce qui concerne l'extension ColsResizer, le script marche sur le premier tour de boucle, pour les autres, non, et le "Loading Extension" reste scotché jusqu'à ce que je fasse un "Clear Filters" mais le Colsresizer ne fontionne pas plus sur les tableaux après le premier tour de boucle...

La génération de filtres dans des tableaux ont-ils déjà été testés dans des boucles, avec ou sans load d'extensions?
J'ai désactivé l'extension mais le problème d'ancre persiste.

Et quand je désactive la génération des filtres, il n'y a plus de problème d'ancres... Undecided

Email :


3 . 2013-07-27 00:37:44

Olivier a écrit:

C'est à nouveau moi...

Dans la console de Firebug, des erreurs sont trouvées en ce qui concerne le javascript, mais je ne sais pas si cela peut être la cause du problème d'ancres.

TypeError: o.SetColsResizer is not a function
initialize:[function(o){o.SetColsResizer();}]
Bien sûr, autant d'erreurs que de tours de boucle... L'extension TFExt_ColsResizer est bien à sa place et il n'y a pas d'erreur 404 de load.

Email :


4 . 2013-07-26 23:09:25

Olivier a écrit:

J'ai oublié de rajouter la capture d'écran:

Email :


5 . 2013-07-26 23:07:39

Olivier a écrit:

Bonjour Max,

Je ne trouve pas d'erreur dans le code html, inspecté avec firebug.

Les filtres sont bien générés. Sur le premier tableau tout semble ok, par contre sur les tableaux suivant dans la boucle, les filtres affichent un message curieux: Loading extensions, et ça ne s'arrête pas de charger apparemment, ceci jusqu'à ce que je clique sur "Clear filters".

Voici une capture d'écran:

Email :


6 . 2013-07-18 01:16:18

Max a écrit:

Bonjour Olivier,
La page des exemples, http://tablefilter.free.fr/ex.php, contient des ancres et ne semble pas avoir des problèmes de ce type. Je te conseille d'inspecter les elements HTML de la page avec des outils de developpeur dans ton navigateur et voir ce qui se passe avec les ancres une fois que les filtres sont générés.

Email :


Haut de page

4 . 2013-06-26 01:54:14

Olivier a écrit:

Bien le bonjour Max,
Je pensais utiliser ezEditTable pour enrichir les filtres... est ce difficile à mettre en place, faut-il de grandes connaissances pour pouvoir le faire fonctionner? Où puis-je voir toutes les fonctionnalités pour voir si je me lance dans l'aventure?

En tout cas, grand merci à toi, géants tes filtres!!

Email : oliviercartagena AT yahoo DOT com


3 Réponses

1 . 2013-07-08 01:20:42

Max a écrit:

Merci Olivier,
Il faut juste suivre le bouton 'Purchase' à partir de cette page http://edittable.free.fr/dwn.php et puis créer un compte sur CodeCanyon. Je pense qu'il faudra alimenter le compte aussi, si mes souvenir sont exactes. La licence de 7$ est valide pour 1 seul site.
A bientot

Email :


2 . 2013-07-06 01:23:43

Olivier a écrit:

Bonjour Max

Merci pour ta réponse, et oui, tes filtres ont géants!
La Licence normale coute donc 7$ et la Licence Extended 35$. quelle est la difféerence?

Mon site est en php, j'ai de bonnes notions en php bien que je reste tout de même un simple autodidacte mais le javascript est encore difficile et quelque peu obscur pour moi. J'espère ne pas trop trimer pour la configuration.

Donc en gros je paye la licence et je reçois des fichiers (les scripts et la doc)? Comment ça se passe exactement?

Email : olivier AT pukanina DOT com


3 . 2013-07-03 01:07:19

Max a écrit:

Salut Olivier,

Merci! Alors le ezEditTable permet en gros de selectionner et d'éditer les cellules d'un tableau HTML. Le mode de fontionnement est similaire, tout est parametrable avec un objet de configuration mais bien sur il faut avoir un base de donnees et des pages serveurs pour ecrire dans la base de donnée. Le script il s'occupe uniquement d'envoyer les info au serveur, peut importe la techno serveur que tu utilises (PHP, JAVA, .NET etc.).
Ce script est sous licence payante (7$) et la documentation est dispo uniquement dans le zip acheté, mais t'as plein d'exemples et des demos dans ce site: http://edittable.free.fr

A bientot

Email :


Haut de page

5 . 2013-04-12 14:57:26

Pascal CONRAD a écrit:

Bonjour,

Merci pour cet outil très très pratique !

J'ai relevé un petit défaut concernant les directives de 'paging', afin de changer les texted par défaut.

Dans la fonction SetPaging, les textes sont écrit en dur dans l'application, et ne peuvent pas être changé par les directives 'btn_xxx_page_text'.

J'ai donc modifié les lignes 1718,1721,1724 et 1727 comme suit (version 2.5):

this.btnNextPageHtml = f.btn_next_page_html!=undefined //defines next page button html

? f.btn_next_page_html : (!this.enableIcons ? null :

'<input type="button" value="" class="'+this.btnPageCssClass+' nextPage" title="'+this.btnNextPageText+'" />');

this.btnPrevPageHtml = f.btn_prev_page_html!=undefined //defines previous page button html

? f.btn_prev_page_html : (!this.enableIcons ? null :

'<input type="button" value="" class="'+this.btnPageCssClass+' previousPage" title="'+this.btnPrevPageText+'" />');

this.btnFirstPageHtml = f.btn_first_page_html!=undefined //defines last page button html

? f.btn_first_page_html : (!this.enableIcons ? null :

'<input type="button" value="" class="'+this.btnPageCssClass+' firstPage" title="'+this.btnFirstPageText+'" />');

this.btnLastPageHtml = f.btn_last_page_html!=undefined //defines previous page button html

? f.btn_last_page_html : (!this.enableIcons ? n ...

Email : pascal DOT conrad AT gmail DOT com


1 Réponse

1 . 2013-04-15 00:53:26

Max a écrit:

Merci Pascal,
Ce sera inclut dans la prochaine version du script.
Est-ce que je peux te rajouter dans la liste des contributeurs?

Email :


Haut de page

6 . 2013-04-09 22:33:12

Joris SAMOHT a écrit:

Bonjour,

J'adore cet outil, bravo pour votre travail.

J'ai essayé de re-simuler la demo ajax (http://tablefilter.free.fr/ajax-demo.htm), mais je n'arrive pas a reproduire le bon format de fichier comme http://tablefilter.free.fr/group2-rows.htm même en copiant le contenu.

Pourriez-vous m'éclairer sur ce sujet?

Merci et encore bravo pour cet outil et bonne continuation.

Email :


1 Réponse

1 . 2013-04-15 00:51:09

Max a écrit:

Merci Joris,
Dis-moi ce qui n'est pas clair exactement.
Est-ce que tu as des erreurs javascript?

Email :


Haut de page

7 . 2013-03-18 10:28:56

Olivier Cartagena a écrit:

Bonjour,

Je découvre ce site et le trésor qui s'y trouve... incroyable, je viens de passer 2 heures à parcourir les différents tableaux et leurs possibilités de filtrage... géant... j'ai donc voulu adapter pour pouvoir filtrer mes tableaux (je développe en autodidacte un système de réservation en php pour mon agence de voyage)... mais impossible de faire afficher les filtres. J'ai nommé la table table1, unique dans le script, j'ai bien sûr vérifié que le fichier tablefilter.js est bel et bien importé avec un test genre alert('ok'); qui est bel et bien affiché au chargement de la page. J'ai également instancié l'Object TF comme ceci:

<script type="text/javascript"> 
    var table1Filters = { 
        col_0: "select", 
        col_4: "none", 
        btn: true 
    } 
    var tf01 = new TF("table1",2,table1Filters); 
    tf01.AddGrid(); 
</script>

Mais aucun filtre n'apparaît... une idée du problème?

Merci par avance

Olivier

Email : olivier AT pukanina DOT com


5 Réponses

1 . 2013-03-25 02:17:26

Max a écrit:

J'ai vecu longtemps en France pres de Nice, mais je suis italien.

Email :


2 . 2013-03-21 20:14:02

Olivier Cartagena a écrit:

Salut Max, oui j'ai vu, merci beaucoup. Tu es Français?

Email : olivier AT pukanina DOT com


3 . 2013-03-19 08:14:10

Max a écrit:

Salut Olivier,
Je t'ai repondu en anglais.

Email :


4 . 2013-03-18 22:35:34

Olivier Cartagena a écrit:

Bonjour à nouveau,

Je comrpends un peu mieux le problème, certains fichiers manquaient et les <select> ne pouvaient pas s'afficher. Donc j'ai réussi à faire fonctionner les <select> mais y a tout de même quelque chose qui ne va pas...
J'ai pris la configuration de http://tablefilter.free.fr/datademo.htm pour ce qui est des propriétés.

J'ai vidé la table qui contient les infos du tableau, donc aucun entrées, et ça m'affiche

Displayed rows: -2...
Et quand y a des infos, par exemple 2 entrées,
Displayed rows: 0 (bizarre...) et les <select> de filtrage sont vide, donc on peut pas filtrer...

J'ai maintenant 3 entrées dans ma table, les trois sont listées mais seulement le dernier est pris en compte dans les <select> de filtrage... et si je filtre par celui-ci, les trois entrées restent affichées, c'est à dire que bizarrement les deux premières, c'est comme si elle n'existaient pas, mais elles restent affichées...

Email : olivier AT pukanina DOT com


5 . 2013-03-18 10:57:41

Olivier Cartagena a écrit:

J'avance un petit peu...

Quand je déclare de façon minimale comme ceic:

<script language="javascript" type="text/javascript">
//<![CDATA[
var tf = new TF('table1',2);
tf.AddGrid();
//]]>
</script>

Les filtres par défaut (champs <input>) apparaissent sur toutes les colonnes, mais si je déclare comme ceci:

<script language="javascript" type="text/javascript">
//<![CDATA[
var table1Filters = { 
        col_0: "select", 
        col_4: "none", 
        btn: true 
    } 

var tf = new TF('table1',2,table1Filters);
tf.AddGrid();
//]]>
</script>

Ça me met juste un <select> sur la première colonne mais sans rien dedans, et puis plus rien pour les autres colonnes...

Email : olivier AT pukanina DOT com


Haut de page

8 . 2013-01-19 17:15:14

Lacroute Jacques a écrit:

J'ai un problème en utilsant tableFilter dans un site sous RapidWeaver.

Les fonctions de tri ne fonctionnent pas si je mets mon code dans une page, par contre si je mets mon code dans une page externe et que je l'affiche en iframe, cela marche.

lien vers l'exemple qui est plus clair que moi:

http://moja.lacroute.free.fr/TestFilter

Email : jlacroute dot gmail dot com


1 Réponse

1 . 2013-01-21 08:46:07

Jacques Lacroute a écrit:

Voici le diagnostic javascript...

TypeError: 'undefined' is not an object (evaluating 'oNode.getAttribute') 

Ceci se passe dans la fonction liée à Firefox de tfAdapterSortable.js

Email :


Haut de page

9 . 2012-08-21 09:16:12

LEVAVASSEUR Jacques a écrit:

Super script pour la mise en forme des tableaux.

Je voudrais savoir s'il est possible avec les opération d'ajouter derrière le texte un symbole comme "€" ou "jours".

Les opérations se font bien mais j'aurais besoin de rajouter un symbole à la suite de l'opération, y a t-il un moyen car en regardant la doc et les exemple je n'ai rien trouvé.

Merci pour le travail accompli et la réponse tant attendue.

Email : j DOT levavasseur AT gmail DOT com


1 Réponse

1 . 2012-08-23 11:25:01

Jacques a écrit:

Trouvez en utilisant formatTotals et en créant 3 petites fonctions javascript

Email :


Haut de page

10 . 2012-05-03 09:30:27

Florian a écrit:

Bonjour Max et félicitations pour ce magnifique code qui m'est d'une grande utilité.

Cela dit, j'ai quelques problèmes.

Premièrement, lorsque je change de valeur dans une liste, effectivement ça tri correctement, mais la première ligne est constemment affichée (même si elle n'a aucun rapport avec ce que demande l'utilisateur). Donc j'aimerais savoir comment faire pour l'enlever quand elle n'a aucun rapport. (à part cette ligne qui est toujours affichée, il n'y a aucun problème de tri).

 

Puis, deuxième problème : lorsque l'utilisateur modifie un élément d'une ligne, ce changement d'élément ne se rajoute pas dans la liste déroulante. Il y aurait-t-il une solution ?

 

Si vous n'avez pas bien saisi mes problèmes, dites-moi le afin que je m'explique mieux.

 

Merci par avance pour vos réponses,

 

Florian.

Email :


11 Réponses

1 . 2012-05-30 10:54:34

Florian a écrit:

C'est bien ce que je pensais.

Mais de toute façon j'ai abandonné ce problème, je fais que pour Firefox et IE maintenant ^^'

 

Bref, merci pour tous tes conseils, et bonne continuation.

Email :


2 . 2012-05-27 04:10:56

Max a écrit:

Salut Florian,
Comme tu dis ça depend du navigateur et peut-être même de la config OS + navigateur.
Peut-être agrandir un peu les colonnes...
Bref pas de solution miracle.

Email :


3 . 2012-05-22 15:26:35

Florian a écrit:

Re bonjour,

 

J'ai un tout dernier petit problème, mais je crois bien que ça vient du navigateur.

En fait, sous IE et Firefox, les listes déroulantes servant a faire le tri, se réduise selon la taille que j'ai mis dans les width sur les <td>, mais sur Chrome, les listes font la taille de ce qu'il y a à l'intérieur.

 

Une idée pour résoudre ce problème ?

 

Merci d'avance.

Email :


4 . 2012-05-04 14:07:30

Florian a écrit:

Effectivement, j'avais oublié les balises <tr> (les </tr> y étaient) dans le <thead> et <tfoot>.

Une erreur trop conne, donc merci d'y avoir songer ^^

Maintenant, la première ligne s'affiche uniquement lorsqu'elle a un lien avec ce que l'utilisateur demande, donc ça fonctionne.

 

Et bah merci, et désolé pour le dérangement.

Email :


5 . 2012-05-04 13:02:40

Max a écrit:

Il y a surement une raison. Peut-etre il y a juste une souci au niveau de tes balises HTML dans les premières lignes de ton tableau. Un <tr> pas fermé ou qqchose dans ce genre.
La ligne en question a le meme nombre de cellules que les autres lignes?

Email :


6 . 2012-05-04 10:59:05

Florian a écrit:

J'ai téléchargé la version 2.4 et j'ai testé, et le premier projet s'affiche toujours ! T_T

Email :


7 . 2012-05-04 10:28:59

Florian a écrit:

Celle que j'ai trouvé sur cette page : http://cnx.claude.free.fr/table_filter/

Et à partir ce cette page, je suis ensuite venu sur ton site, donc il y a certainement des lignes en moins via ce site donc si tu peux me passer

un lien pour que je puisse télécharger la vraie version, ce serait sympa.

 

J'espère que ça vient de ça, parce que sinon je vois pas.

 

Merci d'avance.

Email :


8 . 2012-05-04 09:44:29

Max a écrit:

Quelle version tu utilises?

Email :


9 . 2012-05-04 08:39:43

Florian a écrit:

J'ai essayé mais malheureusement, cette première ligne s'affiche toujours !

Voici mon code :

        var props = {
                btn: false,                                    //masque le bouton "Go" dans la grille de filtrage
                btn_text: "Filtrer",                        //change le text du bouton
                enter_key: true,                            //active la touche "entrée"
                display_all_text: " [ Afficher tout ] ",    //Insére un texte dans la première option du menu déroulant(par défaut: "Afficher tout")
                on_change: true,                            //True: le filtrage des lignes s'effectue dès qu'on selectionne un élément du menu déroulant (par défault : false)
                display_nrows: true,                        //True: affiche le nombre total des lignes filtrées (par défault : false)
                nrows_text: "",            //change le texte affichant le nombre total des lignes filtrées (par défault - "Lignes affichées: ")
                btn_reset: true,                            //True, affiche un bouton permettant de réinitialiser la table (par défault: false)
                btn_reset_text: "Clear",                    //Change le text du bouton de réinitialisation (par défault: "Clear")
                sort_select: true,                            //True: trie les options des listes déroulantes (par défault: false)
                paging: false,                                //groupe les lignes sous forme de "pages"
                paging_length: 5,                            //définit le nombre de lignes (projets) à afficher par page, ici 5
                loader: true,                                //True: affiche un message de chargement des données (par défault: false)
                loader_text: "Loading...",                    //Définit le texte du message de chargement (par défault: "Loading...")
                exact_match: false,                            //True: affiche les occurrences "exactes" (par défault: false)
                col_2: "select",                            //génère une liste déroulante dans le colonne 2 (élu)
                col_3: "select",                            //génère une liste déroulante dans le colonne 3 (porteur)
                col_4:"select",                                //génère une liste déroulante dans le colonne 4 (priorité)
                col_5:"select",                                //génère une liste déroulante dans le colonne 5 (direction)
                col_6:"select",                                //génère une liste déroulante dans le colonne 6 (service)
                col_9:"select",                                //génère une liste déroulante dans le colonne 8 (date de livraison)
                col_0:"none"                                //ne génère rien car c'est la colonne du numéro projet, aucune utilité de mettre une liste
        }
        setFilterGrid("listeProjets",props); //appel du programme

 

Ceci est la version modifiée suite à tes conseils, avant elle était comme ça : setFilterGrid("listeProjets",0,props);

 

Je vais encore chercher, mais si tu vois une autre erreur à corriger, ou rajouter/enlever quelque chose, dis moi le !

 

Merci par avance.

Email :


10 . 2012-05-04 05:09:45

Max a écrit:

Salut Florian,
Je pense que dans ton appel setFilterGrid('monId', mesOptions, indexLigneDepart) tu definis un index de ligne de depart trop eleve. Enleve simplement ce parametre et ca devrait etre bon.
Consulte cette page pour comprendre comment initialiser le script correctement:
http://tablefilter.free.fr/#implement

A bientot

Email :


11 . 2012-05-03 15:41:11

Florian a écrit:

En ce qui concerne le deuxième problème, c'est résolu !

Enfin... ça ne marchait pas car j'avais modifié la première ligne (la fameuse qui ne veut pas s'enlever), mais dès lors que je modifie une donnée d'une autre ligne (et la valeu ne faisant pas parti des listes déroulantes), cette valeur s'y rajoute, donc pour le deuxième problème c'est bon !

Ma seule erreur concerne en fait la première ligne (même si je la supprime, ce sera la future ligne qui sera en position une qui aura ce problème) !

 

Florian.

Email :


Haut de page

11 . 2012-04-28 19:24:18

Gestion des accents dans les listes déroulantes a écrit:

Bonjour,

merci pour ce superbe script.

J'ai des soucis avec mon tableau. Il contient une liste d'analyse de texte des livres de la Bible. J'ai, entre autre, une colonne "Livre de la Bible" et une autre "auteur". J'ai mis des menus déroulant pour filtrer ces 2 colonnes. Avec le paramètre "sort_select", je peux demander ou non de trier toutes les données dans les listes déroulantes mais je souhaite trier uniquement la colonne "Auteur" et je n'ai pas trouvé comment faire.

je me suis alors "rabattu" sur "custom_slc_options" mais je me heurte à un nouveau problème : les caractères spéciaux et notamment les accents. dans les listes déroulantes, Ils sont remplacés par des "carrés" et je ne peux donc pas filtrer correctement.

comment régler ce problème ?

Pour info, voici les méta-données d'en-tête de ma page

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>

 

D'avance merci

Email :


2 Réponses

1 . 2012-05-01 17:59:00

geoboy a écrit:

J'attends donc avec impatince une nouvelle version pour trier les menus déroulant individuellement  :-) ... je blague évidemment

pour la ligne <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />, ça fonctionne !

Encore merci pour votre travail et bonne continuation.

Moi

Email :


2 . 2012-04-30 12:19:51

Max a écrit:

Bonjour,
En effet, le paramètre sort_select affecte tous les menus déroulants et malheureusement à l'heure actuelle il n'est pas possible de trier les menus déroulant individuellement... Ce sera pour l'une des prochaines versions Smile.
Si non pour ce qui concerne les caractères speciaux, est-ce que tu as essayé ce charset?

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

 

Email :


Haut de page

12 . 2012-04-18 15:01:40

JC Ferrières a écrit:

Bonjour et merci pour ce super script!! J'avais commencé à éditer un script par moi-même (j'avais un bon début mais pour l'ensemble des colonnes) et je suis tomber sur ce script qui ma sauvé beaucoup de temps.

Cependant après avoir parcouru le site (demo, exmaples, commentaires, doc) dans les deux langues je ne pense pas avoir trouvé une réponse á mon problème.  Voilà je génére un filtre pour ma table mais qui contient des colonnes <th></th> mais aussi deux colonnes cachées <td></td>. Je voulais savoir s'il y a moyens de dire au script de ne pas tenir compte de ces deux colonnes? Parce que col_num : none c'est bien mais ca m'affiche une barre grise a cote de ma table alors que ma table n'a pas de colonne affichée à cet endroit précis?

 

Merci d'avance pour votre aide

Email : jean-charles DOT ferrieres AT mpi DOT nl


7 Réponses

1 . 2012-04-26 10:13:40

JC ferrières a écrit:

Merci Max!! En effet la "|" à résolu le souci.

Le "," est plus logique et facile à employé mais bon ca ne devrait pas posé de problème d'utiliser autre chose ;)

Email :


2 . 2012-04-26 01:10:50

Max a écrit:

Je pense le "problème" est du au fait que lo cookie qui stocke les valeurs des filtres utilise ',' comme separateur par défaut... Tu peux utiliser la proriété separator pour affecter une autre valeur, "|" par exemple:
var myConfig = {
...
   separator: '|',
...

};
Efface les cookies de ton navigateur et ensuite re-essaye, ça devrait aller... j'éspère :)

Email :


3 . 2012-04-25 16:06:59

JC Ferrières a écrit:

Ok j'ai enfin réglé le problème. Merci de ton aide Max. J'ai fini par ajouter un "header" à mes deux colonnes et j'ai utilisé o.HideCol(n) á la place de showHide_cols_at_start puisque ce dernier est inutile avec showHide_cols_manager : false.

Maintenant pour mon autre problème j'ai pour l'instant décidé de vider les filtres à chaque chargement même si ce n'était pas mon but premier. Je reste cependant intéressé si quelqu'un sait pourquoi les filtres se déplacent de l'un á l'autre.

 

Merci pour tout

Email :


4 . 2012-04-25 09:45:29

JC Ferrières a écrit:

Les colonnes sont cachés en <style="display:none"> je pourrais essayer de le changer en type= hidden voir si cela fait une différence. J'ai manipulé un peu Columns Visibility Manager mais pour l'instant rien ne bouge. C'est comme ajouter des lignes qui ne servent à rien á priori... Mias je continue à chercher.

En parallèle j'ai aussi configuré mes filter par colonne de façon à les remplir au chargement. Seulement je rempli surtout une colonne et les autres restes vides. J'utilise aussi remember_grid_values: true, remember_page_number: true, remember_page_length: true. Malheureusement, dès que je recharge la page, le champ de filtre rempli est déplacé vers la prochaine colonne??

ex : col1 : "example, recherche         col2 : ""      col3: ""

après nouveau load :  col1 : "example"         col2 : ", recherche"      col3: ""

 

Comment cela se fait-il? J'ai essayer CLearFilters() mais cela va à l'encontre de remeber_grid_value et donc mes filtres sont vides à chaque chargement.

 

Merci de l'aide

Email :


5 . 2012-04-24 14:55:46

Max a écrit:

Peut-être ça vient du fait de melanger des TH et des TD sur la même ligne, d'après ce que je comprends. Comment tu caches tes colonnes?
Il aurait aussi la possibilité d'utiliser l'extension Columns Visibility Manager:
http://tablefilter.free.fr/cols-manager.htm
http://tablefilter.free.fr/doc_ext.php#ext_col_mng (doc)

Si tu affectes la propriété showHide_cols_manager à false (si true la liste des colonnes est générée) et tu définis les colonnes à cacher avec la propriété showHide_cols_at_start, tu devrais t'en sortir...

Tiens moi au courant

Email :


6 . 2012-04-23 10:09:58

JC Ferrières a écrit:

Bonjour Max,

 

J'ai bien col_0: 'none" mais rien n'y fait. J'ai aussi ajouté filters_cell_tag: 'th', mais en vain. Ci-dessous une partie de mon code voir si ca peut aider :

                        input_watermark: 'Filter...',

                        filters_cell_tag: 'th',

                        paging: true,

                        paging_length: 20,

                        results_per_page: ['# rows per page',[20,50,100]],

                        highlight_keywords: true,

                        col_0: 'none',

                        col_1: 'none',

                        col_2: 'select',

                        col_4: 'select',

                        col_6: "select",                       

                        col_8: 'none',

                        col_9: 'none',

                        col_10: 'none',

 

col_0 et 1 ne pose pas de problème d'être grisé en revanche col_9 et 10 ne devrait pas apparaitre car inexistante (champ caché <td>). Cela n'empêche pas le filtre de fonctionner parfaitement mais le design est grandement compromis...

Email :


7 . 2012-04-19 13:17:59

Max a écrit:

Salut,
Assure toi que tu ais affecté col_0: 'none' et non pas none.

Email :


Haut de page

13 . 2012-03-25 11:16:37

JPatrick a écrit:

Bonjour Max,

J'ai un petit soucis pour la récupoération du contenu des colonnes
J'ai  public_methods a true et ça marche.

Cependant à l'heure actuelle mon tableau comporte 136 enregistrments mais le résultat du filtrage, si je prend tout ne me donne que les 134 premiers.
Alors que si le filtre ne retourne que 50 lignes je récupere bien 50 enregistrements avec tf.GetFilteredDataCol(numéro)

Le plus bizare c'est que si j'ajoute une ligne je récupère 1 enregistrement de plus et toujours pas le deux derniers.

Email : roady at free DOT fr


3 Réponses

1 . 2012-03-26 13:41:17

Max a écrit:

Ehm ehm!
Si le fix précédent ne marche pas .... . Ceci me parait plus logique:

for(var k=this.refRow; k<this.nbRows; k++){

Je me perds dans toutes ces propriétés, faudrait que j utilise que des méthodes à la place...

Email :


2 . 2012-03-26 13:24:16

Max a écrit:

Salut JPatrick,
Effectivement il y a un bug dans cette méthode publique et potentiellement dans d'autres de ces méthodes.
Merci de m'alerter, d'ailleurs j'ai eu d'autres commentaires à ce sujet. Ca devrait être reglé dans la prochaine version mais comme je n ai pas le source de la nouvelle version sous la main je vais te donner un quickfix de mémoire mais je ne suis pas sur du résultat, donc si ça ne marche pas fait moi signe tout de suite et je vérifirai dans le source dès que je peux.
Alors il faut aller dans la méthode GetValidRowsIndex dans le fichier tablefilter_all.js ou dans TF_Modules/tf_publicMethods.js selon que tu ais choisi d'importer dans ta page tablefilter_all.js ou tablefilter.js et ensuite chercher cette ligne:

for(var k=this.refRow; k<this.nbFilterableRows; k++){

et remplacer par

for(var k=this.refRow; k<this.GetRowsNb(); k++){

Je te rassure, je ne connais pas le code par coeur, je suis en train de regarder dans le js en production sur le site eh ehWink

Voilà j éspère que je n ai pas dis de co#@%ries...

A bientôt

 

Email :


3 . 2012-03-25 11:40:24

JPatrick a écrit:

après un test susr une copie de mon tableau:

Il me manque toujours deux lignes quelle que soit de nombres de ligne
avec deux lignes je n'ai plus rien même si elle sont selectionnées

Je traite le resultat de tf.GetFilteredDataCol comme cela (envoi d'email)

 

 

for (i=0; i<mail.length; i++){ 

if ((mail[i]!="")&&(selection[n].checked)){ destinataires =destinataires+", "+prenom[i]+" "+nom[i]+"<"+mail[i]+">";}

   } 

 

 

Email :


Haut de page

14 . 2012-01-02 20:08:16

laurent D a écrit:

bonsoir

Meilleurs voeux à vous tous pour cette nouvelle années  2012.

j'ai un tableau de plus de 200 lignes avec des numeros de serie non contigu allant de 0 à 10 000 .

je voudrais filtrer dans cette colonne sur plusieurs tranches (range in inglish) comment est ce possible d'aligner ceci:

>10 && <50 + >200 && <300 + >500 && <1000 ...etc

si ce n'est possible dois je passer par un tableau où à l'aide de boucles, j'enumere un par un les numeros situé dans chaque tranches et je termine par un "SetFilterValue"

cordialement

laurent D

 

 

Email :


2 Réponses

1 . 2012-03-01 04:04:45

Max a écrit:

Bonjour Julien,

Il y a certainement des limites a l'utilisation de plusieurs operateurs dans la meme colonne, mais individuellement il marchent.
Il faut faire attention a l'operateur &&, les termes de l expression doivent etre satisfait au niveau de la cellule... Je ne pense pas etre claire la eh eh... Admettons qu'une une colonne ne contienne que 2 valeurs: Sydney et Adelaide. L'expression sydney && adelaide ne sera jamais satisfaite puisque aucune cellule ne contient les deux valeur a la fois. Par contre si on cherche d && e (2 caracteres present dans les 2 mots) ca marche, on peut voir ce que je viens de dire ci dessous:

http://tablefilter.free.fr/#implement

Email :


2 . 2012-02-28 16:06:28

Julien F a écrit:

Bonjour,

J'ai plus ou moins le même problème.
J'ai regardé sur le site le tableau avec les différents opérateurs possible pour appliquer des filtres, seulement certains semblent ne pas fonctionner (par exemple le &&, le || les {} ...), et pour l'application que je fais, il me faudrait vraiment arriver à faire fonctionner ces opérateurs là.


Quelqu'un a eu ce problème également et aurait trouvé une solution ?

 

Cordialement.

Email : j DOT fraisse45 AT laposte DOT net


Haut de page

15 . 2011-11-16 17:39:51

Nerazzuro a écrit:

Bonjour,

Je tiens tout d'abord à vous remercier pour ce superbe composant.

Je voudrais savoir s'il est possible de filtrer des images. Quelques colonnes de mon tableau contiennent des images, et j'aimerais bien pouvoir les filtrer.

Merci d'avance !

Email : mbouskia AT yahoo DOT fr


2 Réponses

1 . 2011-11-28 18:25:22

Nerazzuro a écrit:

Merci Max !

J'utilise custom_cell_data et ça marche nickel.

Email :


2 . 2011-11-21 13:53:40

Max a écrit:

Salut Neroazzurro,
Pour filtrer des colonnes avec des images, je pense qu' il y a plusieurs facon de faire:

  • soit tu mets un texte caché dans la cellule ou il y a l'image
  • soit tu utilises l'evenement custom_cell_data qui est un delegue qui permet d'invoquer sa propre function pour extraire la valeur d'une cellule, regarde cette demo pour te faire une idee: http://tablefilter.free.fr/custom-data.htm

Email :


Haut de page

16 . 2011-10-27 18:37:57

Lionel a écrit:

Bonjour,

Ce composant est très bien fait, c'est un travail remarquable. Pour l'ajuster complètement à mon besoin, il y a 3 options que je n'ai pas trouvé :

  • invalider le lien précédent/suivant sur les premières et dernières pages (une piste via les évènements)
  • l'utilisation d'un placeholder dans les input de filtre
  • un type de pagination avec les numéro de page 1 2 3 4 ...

Encore merci pour ce travail remarquable.

Email : ldeglise AT sopragroup DOT com


4 Réponses

1 . 2011-11-03 14:02:10

Max a écrit:

Lionel,
Voila comment re-affecter les evenements onclick des bouton precedent et suivant en utilisant l'evenement on_filters_loaded, ce dernier etant declenche une fois que les filtres sont generes:

tonObjectDeConfig = {
...
on_filters_loaded: function(o){
       
            var btnNext = tf_Id(o.prfxBtnNextSpan+o.id);               
            btnNext.onclick = null;
            o.Evt._Paging.next = function(){
                if(o.Evt._Paging.nextEvt) o.Evt._Paging.nextEvt();
                var cIndex = o.Evt._Paging.slcIndex();
                if(cIndex < o.Evt._Paging.nbOpts()){ o.ChangePage((cIndex+1)); }
            }
            btnNext.onclick = o.Evt._Paging.next;
           
            var btnPrev = tf_Id(o.prfxBtnPrevSpan+o.id);               
            btnPrev.onclick = null;
            o.Evt._Paging.prev = function(){
                if(o.Evt._Paging.prevEvt) o.Evt._Paging.prevEvt();
                var cIndex = o.Evt._Paging.slcIndex();
                if(cIndex > 0){ o.ChangePage((cIndex-1)); }
            }
            btnPrev.onclick = o.Evt._Paging.prev;
           
        },
...
}

Si non, faut aller dans la methode SetPaging du script et changer le code comme ci-dessus

PS: desole pour les accents, clavier querty...

Email :


2 . 2011-11-03 08:53:41

Max a écrit:

Bonjour Lionel,
Ok, je vais essayer de te repondre avec un exemple des que je peux. Pour le point 2, ca existe en fait, jette un coup d'oeil a cette demo:
http://tablefilter.free.fr/theme.htm
et a la doc, propriete input_watermark:
http://tablefilter.free.fr/doc.php#grid_behave

Email :


3 . 2011-11-03 08:39:46

Lionel a écrit:

Bonjour Max

 

Merci pour les réponses.

 

Pour le point 1 nous allons en effet travailler sur les évènements.

Pour les placeholders (au sens HTML5)  je parlais de texte d'exemple affiché dans l'input de filtre qui ne serait biensûr pas pris en compte par le filtre ("ex: code pays")

Email :


4 . 2011-11-02 13:36:02

Max a écrit:

Bonjour Lionel,
Alors dans l'ordre:

  • Il n existe pas d'option pour changer le comportement des boutons precedent et suivant, il faudrait 'surcharger' les evenements affectés à ces boutons, tf.Evt._Paging.next() et tf.Evt._Paging.prev() (tf = instance de l'objet TF) 
  • Qu'est ce que tu entends par 'placeholder'? Le 'watermark'?
  • Ce type de pagination n'est pas implementé, mais j imagine que cela pourrait se faire à condition de connaitre les proprietes en question et les les callbacks a utiliser ... ;-)

Email :


Haut de page

17 . 2011-10-27 17:14:30

Patrick a écrit:

Salut,

 

Je souhaite utiliser 2 systèmes de filtre avec le même nombre de colonnes et les mêmes en-têtes. Le 1er aura des filtres "libres" (où l'utilisateur peut entrer du texte) et le second contiendra des cases à cocher. Le but est d'offrir à l'utilisateur un premier système de filtre global et un second pour afiner.

 

J'ai un problème, je n'arrive pas à donner l'ordre de mettre à jour le second filtre à partir du 1er.

Voici le code en rapport à ma demande : 

// 1er filtre

var preFiltre = {

on_after_filter : function(o) {

// Remplir le 2ème filtre

filtrePrincipal.custom_slc_options.values[0] = filterCentre2;

filtrePrincipal.custom_slc_options.texts[0] = filterCentre2;

filtrePrincipal.RefreshFiltersGrid();

}

 

Via des "alert" j'ai remarqué que le second filtre contient bien les nouvelles valeurs, mais je n'arrive pas à rafraichir la grille pour que les valeurs affichées à l'écran soient corrects.

Merci d'avance pour ton aide. 

 

Je profite de ma question pour te donner une idée d'améliorations de l'application. Est-ce envisageable d'implémenter ce que je dis dans la librairie? C'est à dire fournir un filtre textuel sur le haut des colonnes et pouvoir ensuite sélectionner uniquement les valeurs souhaitées.

 

 

 

Email :


4 Réponses

1 . 2011-11-02 09:48:08

Patrick a écrit:

J'ai regardé la documentation par rapport à cette option PopulateSelect mais je ne suis pas sûr qu'elle répond à ce que je veux réaliser. Je n'ai pas de select à remplir.

De plus dans quel paramètre mettre la série de données à insérer dans la colonne?

 

La façon dont je réalise l'implémentation (selon le 1er post sur ce sujet) fonctionne presque:

Dans mon premier système de filtre je tape par exemple "COL" pour obtenir tous les noms de sociétés commençant par "COL". Chaque colonne du second système de filtrage contient par défaut uniquement le texte [ Tout ]. En cliquant sur ce "[ Tout ] le système de filtrage se met à jour avec les données filtrées du 1er filtre.

 

Le problème est donc le rafraichissement automatique du second filtre.

 

Merci d'avance pour ta précieuse aide.

Email :


2 . 2011-11-02 08:49:33

Max a écrit:

Salut Patrick,
Est-ce que tu as essayé de regenerer le filtre avec la methode PopulateSelect( colIndex, isExternal, extSlcId ), cf http://tablefilter.free.fr/doc_methods.php ?
Ca pourrait faire l'affaire, en ignorant le dernier parametre de la fonction.

Email :


3 . 2011-10-31 15:29:05

Patrick a écrit:

J'ai vu qu'il y avait cette propriété mais dans mon cas je dois mettre à jour ces filtres en fonction d'événements et non une seule fois de manière statique pour initialiser la grille.

Comment utiliser la propriété dont tu parles pour pouvoir mettre à jour le filtre?

 

Merci

Email :


4 . 2011-10-30 01:33:40

Max a écrit:

Bonjour Patrick,
Essaie la propriété custom_slc_options, cela devrait faire ce que tu souhaites.
Tiens moi au courant.

Email :


Haut de page

18 . 2011-10-16 15:04:30

Alex a écrit:

Bonjour,

J'ai un petit problème à propos de votre script.

J'ai pu créer correctement un tableau et mettre en place des filtres mais lorsque je veux rajouter des éléments qui se placent au dessus de mon tableau (paging, btn_reset, rows_counter,...) mon tableau n'apparait plus. Les données sont bien dans le code source, mais rien n'apparait sur la page.

J'ai aussi remarqué que si je supprimais la ligne "@import "TFG/filtergrid.css";" alors le tableau s'affichait avec les fonctions demandées (paging, rows_counter) mais bien evidemment sans style. Je n'ai pas modifié ce fichier, c'est l'original. J'ai bien essayé de chercher où était mon erreur mais je ne trouve pas...

Merci

Mon code :

<html>

 

<head>

<script src="TFG/tablefilter_all.js" language="javascript" type="text/javascript"></script>

<style type="text/css" media="screen">

@import "TFG/filtergrid.css";

table{ border:1px solid #ccc; font-size:85%; }

th{

background-color: #D1DBE1;

border-left:1px solid #C7C7C7;

padding:5px; height:25px;

text-align:center;

}

td{ padding:2px; border-bottom:1px solid #ccc; border-right:1px solid #ccc; }

th img{ border:0; } 

</style>

 

<script language="javascript" type="text/javascript">

var demo_config = { 

filters_row_index:1,

fixed_headers:true,

tbody_height:500,

btn_reset: true,

btn_reset_text: "Vider les filtres",

paging:true,

rows_counter: true,  

rows_counter_text: "Lignes : ",

loader: true,

loader_text: "Filtrage en cours...",

sort: true,  

col_2:"select",

col_3:"select",

col_4:"select",

alternate_rows: true

}

</script>

<title>Historique</title>

</head>

<body>

<p><h3>Historique</h3></p>

<?php

echo '<center>';

    echo '<table id="table1" width="100%">'."\n";

echo '<thead>';

      echo '<tr>';

      echo '<th>Agent</th>';

      echo '<th>Date</th>';

      echo '</tr>'."\n";

 echo '</thead>';

 echo '<tbody>';

    while($row = mysql_fetch_array($result)) {

echo '<tr>'."\n";

echo '<td>'.$row["modificateur"].'</td>';

echo '<td>'.$row["date"].'</td>';

echo '</tr>'."\n";

    }

echo '</tbody>';

    echo '</table>'."\n";

echo '</center>';

?>

 

<script language="javascript" type="text/javascript">

var tf = setFilterGrid("table1",demo_config);

tf.AddGrid();

</script>

 

</body>

</html>

 

Email : jose DOT gapin AT freesbee DOT fr


2 Réponses

1 . 2011-10-21 10:25:17

Alex a écrit:

Merci cela fonctionne. Bravo pour votre script, il est très utile !

Email :


2 . 2011-10-20 13:55:15

Max a écrit:

Bonjour Alex,
Si tu changes le répertoire du script, il vaut mieux renseigner la propriété base_path (...base_path: 'TFG/'). Si non pas besoin d appeler la méthode AddGrid() si tu utilises la fonction setFilterGrid.

Email :


Haut de page

19 . 2011-10-14 15:54:06

Patrick a écrit:

Salut Max!

 

J'utilise la version 1.8 du SortTable avec la version 2.1 de TableFilter. J'utilise le paging dans la grille.  Je viens de remarquer des problèmes avec le tri d'une colonne contenant des valeurs numériques. Voici une série de données triées telles qu'elles apparaissent dans l'application:

3.22
2.98
2.77
22.9
2.28
2.13
1.73
14.3

 

Pense-tu que c'est un problème de la librairie ou une de mes configurations qui serait fausses?

 

Merci beaucoup

Email :


1 Réponse

1 . 2011-10-15 13:51:41

Max a écrit:

Salut Patrick,
Assure-toi que la colonne en question ait le bon type numerique, comme expliqué dans le point 4 de cette démo:
http://tablefilter.free.fr/filter-sort.htm
Soit tu définis le type de la colonne dans le sort_config:
...
sort_config: { 
    sort_types:[...'US'...] 
},
...
soit tu definis les colonnes numériques de ton tableau avec la propriété col_number_format comme dans cette démo:
http://tablefilter.free.fr/data-types.htm
...
col_number_format: [...'US'...],
...

Email :


Haut de page

20 . 2011-09-27 11:24:34

sergio a écrit:

Bonjour,

Cette librairie est vraiment excellente, encore merci :)

J'ai des problème d'affichage dans firefox et ie à partir de la version 7 (dans ie6 curieusement tous fonctionne) :

Pourquoi la 1er ligne du tableau est-elle si haute dans les navigateurs récents ?

J'ai ce problème sur tous mes tableaux. Merci pour votre aide.

Un exemple du code que j'utilise :

<script language="javascript" type="text/javascript">
                                            var totRowIndex2 = tf_Tag(tf_Id('tableau_cmd'),"tr").length;
                                                    var tf_table3_Props = {
                                                    sort: false, //Trier croissant, décroissant
                                                    filters_row_index: 1, //position liste déroulante
                                                    remember_grid_values: true,
                                                    remember_page_number: false,
                                                    remember_page_length: false, // Se souvenir du dernier choix longueur page, tri...
                                                    enter_key: false,       
                                                    on_change: true,           
                                                    exact_match: false,        
                                                    match_case: false,          
                                                    alternate_rows: true,
                                                    paging: false,
                                                    results_per_page: ['Résultats par page',[15,30,50,500]],
                                                    rows_counter: true,
                                                    rows_counter_text: "Résultat(s) : ",
                                                    // tot_rows_css_class: 'clo_bandeau_tableau',
                                                    loader: true,
                                                    loader_css_class: "myLoader",
                                                    loader_html: '<img src="./js/img/loader.gif" alt="" style="vertical-align:middle; margin-right:5px;" />Chargement...',
                                                    status_bar: false,
                                                    btn_reset: true,
                                                    btn_reset_text: "Réinitialiser",
                                                    btn_reset_css_class: "bandeau_tableau",
                                                    fixed_headers: true,
                                                    tbody_height: 475, // Hauteur du tableau
                                                    sort_select: true, // avec ou sans tri des éléments des listes déroulante
                                                    col_width: ["3%","17%","1%","1%","3%","3%","1%"],
                                                    col_0: "select",
                                                    col_1: "select",
                                                    col_2: "select",
                                                    col_3: "select",
                                                    col_4: "select",
                                                    col_5: "select",
                                                    col_6: "",
                                                    inf_div_css_class: "inf",  
                                                    display_all_text: "--Tous--"
                                                }
                                                setFilterGrid("tableau_cmd",tf_table3_Props);
                                </script>

 

 

Email : bruno9173 AT hotmail DOT fr


2 Réponses

1 . 2011-09-27 22:11:15

Sergio a écrit:

Grand merci Max Smile

Avec grid_layout le bug n'est qu'un vieux souvenir !

Email :


2 . 2011-09-27 13:33:18

Max a écrit:

Salut Sergio,

Je vois ce que tu veux dire, c'est du en fait à la hauteur du tbody; lorsque le tableau est filtré la hauteur des lignes s'adapte automatiquement à la hauteur du tbody. On n'y peut rien, que je sache. Par contre, je te conseille d'utiliser la propriété grid_layout à la place de fixed_headers et d'enlever par conséquent le tbody_height. Voici qques demos utilisant le grid_layout:
http://tablefilter.free.fr/grid-layout.htm
http://tablefilter.free.fr/grid-layout2.htm
http://tablefilter.free.fr/grid-layout.3htm
http://tablefilter.free.fr/selection-grid.php
http://tablefilter.free.fr/editable-grid.php

Email :


Haut de page

21 . 2011-09-18 18:51:38

Patrick a écrit:

Salut,

 

Est-ce qu'il y a possibilité d'exécuter une fonction juste après le clear d'une grille, comme on peut le faire après le filtrage avec on_after_filter?

 

Merci

Email :


2 Réponses

1 . 2011-09-23 23:03:36

Max a écrit:

Tu pourrais rajouter un handler au bouton clear de cette façon dans ton objet de configuration:
...
on_filters_loaded: function(o){
    tf_AddEvent(o.btnResetEl, 'click', function(e){ alert('table id: '+o.id); }); //o.btnResetEl = clear button element reference
},
...

ou redefinir l'événement _Clear appliqué au bouton de cette façon:
...
        on_filters_loaded: function(o){
            o.Evt._Clear = function(e){
                o._ClearFilters();
                o._Filter();
                alert('table id: '+o.id); //insérer l'appel à sa propre fonction ici
            };
            o.btnResetEl.onclick = o.Evt._Clear;
        },
...

Email :


2 . 2011-09-20 21:34:03

Max a écrit:

Salut Patrick,
Je vais te répondre dès que j ai un peu de temps. Il n y a pas de callback pour le clear, parce que le clear ne fait que nettoyer les filter et executer la méthode Filter en fait.

Email :


Haut de page

22 . 2011-09-15 10:11:51

Phil a écrit:

Bonjour Max,

 

Voilà j'ai un petit souci, pour la colonne 5, le filtre fonctionne bien, par contre pour la colonne 4, je n'ai pas le résultat qu'il faut qu'importe le choix de la sélection, cela m'enlève les lignes vides seulement.

Voici, le un ptit bout de mon script :

       col_number_format: [null,null,'EU','EU','EU'],

       col_0: "select",

       col_1: "select",

       col_2: "select",

       col_3: "select",

       col_4: "select",

       col_5: "select",

       display_all_text: "<tout>",

 

       custom_slc_options: {

           cols:[4,5],

           texts: [['> à 94','> à 96','> à 98','> à 100','> à 102','> à 104','> à 106','> à 108','> à 110'],['> à 94','> à 96','> à 98','> à 100','> à 102','> à 104','> à 106','> à 108','> à 110']],

           values: [

                  ['>94','>96','>98','>100','>102','>104','>106','>108','>110'],['>94','>96','>98','>100','>102','>104','>106','>108','>110']

                   ],

 

           sorts: [false,false]

       },

 

Merci ! Bonne journée et bonne continuation.

 

 

Email :


2 Réponses

1 . 2011-09-20 09:22:42

Phil a écrit:

Oups effectivement, il y avait bien un souci de ce côté, merci Max.

Email :


2 . 2011-09-16 13:40:55

Max a écrit:

Salut Phil,
Désolé mais je ne vois pas à partir d'un objet de configuration... Assure-toi que le format de la colonne soit approprié ('EU')...

Email :


Haut de page

23 . 2011-09-13 11:02:36

Patrick a écrit:


Salut Max,

J'utilise la fonction on_after_filter : function(o) {} et j'ai mis un alert dedans. J'ai pris l'exemple suivant http://tablefilter.free.fr/load-filters-on-demand.htm. A chaque fois que je clique sur une checkbox d'un filtre l'alerte est exécutée 2 fois. 

Je réalise un projet pour lequel je dois réaliser beaucoup d'actions après chaque filtre. Le travail se fait donc 2 fois ce qui n'est pas optimal.

As-tu une idée comment corriger le problème?

 

Merci beaucoup

Email :


5 Réponses

1 . 2011-09-18 19:02:03

Max a écrit:

Oui, la modif est dans le fichier tablefilter.js et tf_populateCheckList.js aussi... normalement.
La différence c que lorsqu'on utilise le tablefilter.js, celui-ci se charge, en fonction des options activées, d'importer les modules nécéssaires uniquement.

Email :


2 . 2011-09-18 14:46:17

Patrick a écrit:

Salut Max,

 

Je viens de tester, ça fonctionne maintenant correctement Smile. Merci pour la correction et pour la rapidité.

Je sais pas si la modification devrait être dans tous les fichiers, mais comme j'ai vu elle est présente dans le fichier tablefilter_all.js mais pas dans le fichier tablefilter.js

 

Email :


3 . 2011-09-17 16:59:08

Max a écrit:

Re-salut Patrick,

Si tu installes ou re-installes la dernière version v2.1, le fix est inclut:
http://tablefilter.free.fr/dwn.php

Email :


4 . 2011-09-17 12:43:03

Max a écrit:

Patrick,
Voici les instructions pour le quick-fix. Alors dans ton fichier tablefilter.js ou tablefilter_all.js:

  • Chercher la méthode _OnSlcChange (ligne 754 ou 642 selon le js) et
  • Ajouter ces lignes juste avant var evt = e || window.event;
    //Checks filter is a checklist and caller is not null
    if(o.activeFlt && o.activeFlt.getAttribute('colIndex') &&
        o['col'+o.activeFlt.getAttribute('colIndex')]==o.fltTypeCheckList &&
        !o.Evt._OnSlcChange.caller) return;

Voici la méthode en entier:
...
_OnSlcChange: function(e)
/*====================================================
    - onchange event for select filters
=====================================================*/
{
    //Checks filter is a checklist and caller is not null
    if(o.activeFlt && o.activeFlt.getAttribute('colIndex') &&
        o['col'+o.activeFlt.getAttribute('colIndex')]==o.fltTypeCheckList &&
        !o.Evt._OnSlcChange.caller) return;
    var evt = e || window.event;
    if(o.popUpFilters) tf_StopEvent(evt);
    if(o.onSlcChange) o.Filter();
},
...

Ce fix sera dispo dans la prochaine version.
Merci d avoir signalé ce bug, passé inaperçu depuis bien longtemps hélas Frown.

Email :


5 . 2011-09-15 14:04:00

Max a écrit:

Salut Patrick,
Merci de signaler ce bug... Des que j ai un peu de temps dispo je vais essayer de trouver un quick-fix rapide... j espere du moins Undecided

Email :


Haut de page

24 . 2011-09-09 15:19:06

Matt a écrit:

Salutation Max,

Bravo pour cette application bien utile.

J'ai un souci concernant l'affichage de mes colonnes, j'ai un décalage qui ne s'arrange pas quand je clique sur l'en tête d'une colonne pour tri de même pour les select.

Ci dessous mon code :

<script language="javascript" type="text/javascript">

    var props = {

        sort: true,
        rows_counter: true,
        rows_counter_text: "Résultat(s) : ",
        alternate_rows: true,
        filters_row_index:1,
        toolbar_target_id: 'toolbar',
        //remember_grid_values: true,
        //grid_layout: true,
        //grid_width: '1024px',

        btn_reset: false,
        loader: true,
        loader_text: "Patientez SVP",
       status_bar: true,
       col_number_format: ['EU',null,'EU','EU'],
       col_date_type: [null,'dmy'],
       sort_select: false,
       col_0: "select",
       col_1: "select",
       col_2: "select",
       col_3: "select",
       col_4: "select",
       col_5: "select",
       col_6: "select",
       col_7: "select",
       col_8: "select",
       col_9: "select",
       col_10: "select",
       col_11: "select",
       col_12: "select",
       col_13: "select",
       col_14: "select",
       col_15: "select",
       col_16: "select",
       col_17: "select",
       col_18: "select",
       col_19: "select",
       col_20: "select",
       col_21: "select",
       col_22: "select",
       col_23: "select",
       col_24: "select",
       col_25: "select",
       col_26: "select",
       col_27: "select",
       col_28: "select",
       col_29: "select",
       col_30: "select",
       col_31: "select",
       display_all_text: "<tout>",
       paging: false,

       //Grid layout properties

        col_width: ['100px','80px','100px','50px','50px','50px','50px','50px','50px','50px','50px','50px','100px','50px','50px','50px','50px','50px','50px','50px','50px','100px','50px','50px','50px','50px','50px','50px','50px','50px'],

      
       
        grid_layout: true,
        grid_width: '98%',
        grid_enable_cols_resizer: false,
        refresh_filters: true,
        mark_active_columns: true,
        grid_enable_default_filters: true


   }
   setFilterGrid("example",props);
</script>

 

Question subsidiaire : Est-il possible de figer la première colonne?

Merci d'avance.

Email :


2 Réponses

1 . 2011-09-13 08:34:16

Matt a écrit:

Ok, je vais voir ça, merci Max !

Email :


2 . 2011-09-12 12:22:43

Max a écrit:

Salut Matt,
Je te conseille de jeter un coup d oeil à cette demo et aux recommendations lorsque le grid_layout est activé: http://tablefilter.free.fr/grid-layout.htm
Les styles appliqués à ton tableaux pourraient etre la cause de ton souci. A partir que de l objet de config je ne peux pas me faire une idée exacte, en fait.
Si non, il n est pas possible actuellement de figer une colonne malheureusement.

Email :


Haut de page

25 . 2011-09-05 14:22:37

Marie a écrit:

Bonjour Max,

Tout d'abord, merci pour cet excellent travail !

Voilà, j'ai une petite question, j'aimerai que le nombre de page de mon tableau s'affiche en haut, mais je ne sais pas pourquoi il s'affiche en bas.Y a t-il quelque chose à préciser? Voici mon code de déclaration de mon tableau :

<script language="javascript" type="text/javascript">

    var props = {

        sort: true,
        rows_counter: true,
        rows_counter_text: "Résultat(s) : ",
        alternate_rows: true,
        filters_row_index:1,
        remember_grid_values: true,
        grid_layout: true,
        //grid_width: '1024px',

        btn_reset: true,
        btn_reset_text: "Clear",
        loader: true,
        loader_text: "Patientez SVP",
       status_bar: true,
       col_number_format: ['EU',null,'EU','EU'],
       col_date_type: [null,'dmy'],
       sort_select: false,
       col_0: "select",
       col_1: "select",
       col_2: "select",
       col_3: "select",
       col_4: "select",
       col_5: "select",
       col_6: "select",
       col_7: "select",
       col_8: "select",
       col_9: "select",
       col_10: "select",
       col_11: "select",
       col_12: "select",
       col_13: "select",
       col_14: "select",
       col_15: "select",
       col_16: "select",
       col_17: "select",
       col_18: "select",
       col_19: "select",
       col_20: "select",
       col_21: "select",
       col_22: "select",
       col_23: "select",
       col_24: "select",
       col_25: "select",
       col_26: "select",
       col_27: "select",
       col_28: "select",
       col_29: "select",
       col_30: "select",
       col_31: "select",
       display_all_text: "<tout>",
       custom_slc_options: {
           cols:[3,14,23],
           texts: [['>95','>97','>99','>101','>103','>105','>107','>109','>110'],['>95','>97','>99','>101','>103','>105','>107','>109','>110'],['>95','>97','>99','>101','>103','>105','>107','>109','>110']],
           values: [
                       ['>95','>97','>99','>101','>103','>105','>107','>109','>110'],['>95','>97','>99','>101','>103','>105','>107','>109','>110'],['>95','>97','>99','>101','>103','>105','>107','>109','>110']
                   ],
           sorts: [false,false,false]
       },
       col_width: ["80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px","80px"],
       paging: false,
       //paging_length: 25,

       //Grid layout properties
       grid_layout: true,
       grid_width: '98%',
    grid_height: '550px',
       /*** Extensions manager ***/
       extensions: {
           /*** Columns Visibility Manager extension load ***/
           name:['ColsVisibility'],
           src:['TFExt_ColsVisibility/TFExt_ColsVisibility.js'],
           description:['Show/hide columns'],
           initialize:[function(o){o.SetColsVisibility('ColsVisibility');}]
       },
       btn_showHide_cols_text: 'Columns?',
       col_resizer_all_cells: true

   }
   setFilterGrid("example",props);
</script>

Merci par avance.

 

 

Email :


2 Réponses

1 . 2011-09-08 08:56:19

Marie a écrit:

Avec du retard, mais Merci Max.

Email :


2 . 2011-09-05 21:29:10

Max a écrit:

Salut Marie,
Le mode grid_layout place la toolbar en bas par défaut. Le script permet de placer la toolbar où l'on veut, il suffit de définir la propriété toolbar_target_id  pour définir l'élement qui contiendra la toolbar. Si non tu peux aussi définir l emplacement souhaité que du du nombre de lignes et de pages avec propriété rows_counter_target_id, et/ou des éléments de la pagination (flèches, menu déroulant) avec paging_target_id. Tu peux consulter la doc:
http://tablefilter.free.fr/doc.php#grid_counter
http://tablefilter.free.fr/doc.php#grid_paging
et aussi la page demos.php en filtrant la colonne Properties pour trouver les demos utilisant ces propriétés.
A bientot

Email :


Haut de page

26 . 2011-08-25 12:36:29

Filtre sur champ date a écrit:

Saisissez votre commentaire ici...

Email :


2 Réponses

1 . 2011-08-25 13:16:45

Max a écrit:

Salut Rémy,
Oui, le script permet de filtrer differents types de dates, mais il n y a pas de filtre de type calandrier: http://tablefilter.free.fr/data-types.htm .

Email :


2 . 2011-08-25 12:37:47

Rémy a écrit:

Bonjour MAX ,


table filter permet il de filtrer un champ via un calendrier pour un champ de type date. Exemple toute les lignes ou le champ date est egal au 18 aout 2011 ?

Merci d'avance

Email :


Haut de page

27 . 2011-08-17 20:53:13

Rémy a écrit:

Bonjour,

 

Tout d'abord merci pour ce super boulot. Vrai du beau travail..

 

Je rencontre cependant un petit problème. Sur mon site en asp j'utilise le table filtre simple avec des textbox + select

Ca fonctionne très très bien jusqu'au moment ou ma requete retourne beaucoup d'enregistrement.

Avec 2000 c'est pas mal mais j'ai certain tableau qui peuvent retourner jusqu'a 20 000 enregistrement. Je me doute qu'il faut le temps pour que ca s'affiche, la n'est pas le problème car j'ai pour tout mes autre tableau une progress bar qui fait patientez l'utilisateur le temps de la requete. Mais pour celle ou il retourne 20 000 enregistrements, je n'arrive meme pas jusque la.

 

J'ai directement ERREUR 500 qui s'affiche dans mon navigateur. Le script est il limité en nombre de ligne ? 

Si oui combien ? Si non , existe il une astuces pour contourner ce problème ? Avez vous déja reussi a l'utiliser avec 20 000 enregistrement retournés ? 

 

Merci d'avance pour les réponses apportés à ma question.

 

Email :


4 Réponses

1 . 2011-08-18 15:08:07

Max a écrit:

Peut-etre un timeout de la requete HTTP, ton filtre qui renvoie les 20000 records prends plus de temps que la limite d'une requete http... C juste une supposition. Par contre, ceci n a rien a voir avec le javascript HTML Table Filter Generator et ses commentaires... Je te conseille d aller sur des forums specifiques a IIS.

Email :


2 . 2011-08-18 09:38:00

Rémy a écrit:

Bonjour Max,

Merci pour ta réponse.

Ce que je ne comprend pas c'est que si dans ma requete qui me permet de généré mon tableau je met un where qui filtre le résultat et qui me permet de retourner que 1000 lignes ca fonctionne parfaitement. Donc je me dis que mon code est OK.

As tu eu déja ce genre d'erreur. C'est un serveur IIS 7. Sais tu d'ou cela pourrait provenir ?

Merci d'avance

Email :


3 . 2011-08-18 09:35:19

remy a écrit:

Saisissez votre commentaire ici...

Email :


4 . 2011-08-18 09:08:17

Max a écrit:

Salut Remy,
L'erreur que tu as es une erreur typique cote serveur, Erreur 500 Internal Server Error, le script n a rien a voir puisque il est executé coté client uniquement... Une fois que ta page ASP marchera en affichant les 20000 enregistrements je te conseille de suivre les recommendations de cette page de demo: http://tablefilter.free.fr/extra-large-data.htm

Email :


Haut de page

28 . 2011-08-09 16:57:45

Guillaume a écrit:

Bonjour,

Avant toutes choses, un grand merci pour vos scripts !

J'ai un petit problème avec le script Table Filter en utilisant une grille externe. Les filtres fonctionnent parfaitement, seulement impossible de faire fonctionner les boutons "Filter" et "Clear". Si je garde les paramètres de base, mon browser me retourne que "tf_demo" n'est pas défini. Et si je tente de remettre ça d'aplomb, en redéfinissant la valeur dans le script, il semble tourner dans le vide...

onclick="tf_demo.Filter();
onclick="tf_demo.ClearFilters(); 

Auriez-vous une solution à mon problème ?

Encore merci pour tout votre travail.

Cordialement,

PS : étant un jeune débutant en la matière, ma question va peut-être vous sembler débile ! ^^

Email : gui DOT parigi AT gmail DOT com


1 Réponse

1 . 2011-08-10 12:43:58

Max a écrit:

Hello Guillaume,
Pas de souci! Alors la variable tf_demo doit correspondre à l'instanciation de l'objet TF, cad:
var tf_demo = setFilterGrid(...); ou var tf_demo = new TF(...);
Une fois que c fait, les methode Filter() et ClearFilters() seront disponibles, comme dans les differentes page de demo.

Email :


Haut de page

29 . 2011-07-25 16:59:26

Céline a écrit:

Bonjour Max,

Tout d'abord, merci pour cet excellent script, il est vraiment complet.

J'aimerais savoir s'il est possible en utilisant la fonction GetColValues de récupérer les données sous excel?

Merci par avance et bonne contniuation !!!

Email :


9 Réponses

1 . 2011-08-29 14:29:06

Nicolas a écrit:

Bonjour Céline, Rémy, Max et les autres....

Je cherche aussi à exporter les données filtrées/triées pour Excel, avec un ActiveX.

Avez vous trouvé une bonne solution que je pourrais implémenter à mon tour ?

Car comme vous j'ai une fonction js d'export pour excel qui fonctionne bien, mais je n'arrive pas à l'adapter à tablefilter.

Je n'arrive pas non plus à avoir des checkboxes qui soient cochables en même temps , comme dans le script ezEditTable. Je dois pas m'y prendre correctement dans mes appels.

Voilà la partie JS:


<script language="javascript" type="text/javascript">
//<![CDATA[  

//ezEditTable configuration object   
 var etConfig = {
  key_navigation: false,
  key_selection: false,
  selection_model: 'multiple',
  default_selection: 'row',
  on_selection_initialized: function(o){ 
   var headerRow = o.table.rows[0];
   var c = headerRow.cells[0];
   o.checkBoxAll = o.Tag(c, 'input')[0]; //header checkbox is referenced here o.checkBoxAll
   o.checkBoxAll.checked = false; //header checkbox always unselected at start
  },
  on_after_selected_row: function(o, row){ //  fonction de l'événement de rappel appelée après qu'une ligne soit sélectionnée (par défaut: null)
   var c = row.cells[0];
   var checkBox = o.Tag(c, 'input')[0];
   if(checkBox) checkBox.checked = true;
  },
  on_after_deselected_row: function(o, row){//  fonction de l'événement de rappel appelée après qu'une ligne soit décochée (par défaut: null)
   var c = row.cells[0];
   var checkBox = o.Tag(c, 'input')[0];
   if(checkBox) checkBox.checked = false;
  }
 };
 
 function ToggleAll(o){
  if(o.checkBoxAll.checked == false){
   o.Selection.ClearSelections();
  } else {
   for(var i=o.startRow; i<o.GetRowsNb(); i++){
    o.Selection.SelectRowByIndex(i);
   }
  }
 }
 
 var et1 = setEditTable("TF", etConfig);

 var tfConfig = {
     sort_select: true,          // avec ou sans tri des éléments des listes déroulante                
      //truecol_width: ["7%","30%","18%","7%","8%","7%","10%","7%","10%"],
     grid_enable_cols_resizer:false,

 paging: true,  //pagination
  results_per_page: ['Lignes par page',[10,25,50]],  
  remember_grid_values: true,   //Memorisation des filtres et tris
  enable_default_theme: true,
  filters_row_index: 1,
  alternate_rows: true, //Alternance coloréé des lignes
  rows_counter: true, // Compteur de lignes
  rows_counter_text: "Lignes: ", // Texte du compteur de lignes
  btn_reset: true, // Bouton de remise à zero des filtres
  btn_reset_text: "RAZ des filtres",  //Message associe au bouton de remise à zero des filtres
  loader: true,  //Gif de chargement
  loader_html: '<img src="loader.gif" alt="" style="vertical-align:middle; margin:0 5px 0 5px" />',
  loader_css_class: 'myLoader', //Chemin du gif de chargement
  status_bar: true,
  col_number_format: ['EU','EU','EU','EU','EU','EU','EU','EU',null],  
  col_date_type: [null,null,null,null,null,null,null,'dmy','mdy'],  
  col_1: "select",  
  col_3: "select", 
  col_4: "select",  
  col_5: "select",  
  col_6: "select",  
  col_7: "select",  
  col_8: "select",  
  col_12: "select",
  //Custom column sorter implemented below
  sort: true,
  
popup_filters: false ,  //True pour mettre cacher les champs de filtres et mettre un entonnoir à la place
  sort_config: {
   //New sort type: 'enforceinteger'
   sort_types:['Number','Number','Number','Number','Number','Number','Number','dmydate','String','String','mdydate', 'String', 'String']
  },
  on_sort_loaded: function(o){
   //Add custom sort type function according to WebFx Sortable Table 1.12 script (Erik Arvidsson)
   SortableTable.prototype.addSortType( 'enforceinteger', o.fObj.enforceIntegerSorter );
   //Note o.fObj is the TF property referencing the configuration object
  },
  //Custom sorter function placed in the config obj itself
  enforceIntegerSorter: function(val){
   var m = val.match(/\d+/);    
   return parseInt(m[0], 10);
  }
  
 }
 var tf = setFilterGrid("TF", tfConfig);
 
//]]>
</script>

 

Voici un bout du table html, pour les checkboxes:

 <table cellpadding="1" cellspacing="2" id="TF" >
          <thead>
    <tr> 
    <th>Centre</th><th>DTR</th><th>PDC</th><th>PdcFac</th><th>PdcBlo</th><th>NatFac</th><th>Circuit</th><th>Fin_PDF</th><th>Code_anomalie</th><th>Libelle_anomalie</th><th>DATE_ANO</th><th>commentaire</th><th onclick="ToggleAll(et1);">Traite<input type="checkbox" value="" /></th>   
    </tr>
          </thead>
  
          <tbody>
            <tr>
      <input type="hidden" name="80885_id" value="80885" /><td>147</td><td>11</td><td><a href="?id=80885" title="Voir la fiche de synthese "  target="_blank"><h4><b>284</b></h4></a></td><td>0</td><td>0</td><td>1</td><td>158</td><td>18/08/2011</td><td>E2220</td><td><b>AUCUNE RECEPTION AVANT FIN : 18/08/2011 - </td><td>2011-08-16</td><td>80885_commentaire</td><td><input type="checkbox" value=""  /></td></tr>

Email : nicusjam AT gmail DOT com


2 . 2011-08-02 20:30:20

Rémy a écrit:

Bonjour Céline et Max

 

Tout d'abord merci pour ce script qui est génial...

 

Céline as tu réussi a faire l'export excel des données filtrer car ca m'interesse grandement et je n'y arrive pas du tout.

 

A m'arracher les cheveux.

Si tu as la solution je te remercie d'avance

Email : rfaure AT stk DOT fr


3 . 2011-07-27 21:04:51

Max a écrit:

En fait le tableau renvoyé par la méthode GetFilteredData a cette allure, si mes souvenirs sont exactes:
[
   [0, [valueCol0, valueCol1, valueCol2,... valueColn]],
   [1, [valueCol0, valueCol1, valueCol2,... valueColn]],
   ...
   [n, [valueCol0, valueCol1, valueCol2,... valueColn]],
]

Donc pour acceder aux valeurs ce serait plutot qqchose comme:
var cellValues = dd[i][1]; //array avec valeurs des cellules
var rowIndex = dd[i][0]; //l'index de la ligne puisque c apres filtrage c non sequentiel... pas sur que tu en ais besoin...

Tout ca est à verifier puisque je ne l ai pas fait... je prefere pecher d optimisme Smile

Email :


4 . 2011-07-27 16:31:05

Céline a écrit:

J'y suis presque voici mon code :

 <script language=javascript>
    function exportToExcel2()
    {
          tf.publicMethods = true;
          var i=0;
        var dd= tf.GetFilteredData (true) ;
        //var tb = new Array ['dd'];
        alert(dd[i]);

    var oExcel = new ActiveXObject("Excel.Application");
    var oBook = oExcel.Workbooks.Add;
    var oSheet = oBook.Worksheets(1);
   
    for (var y=0;y<dd.length;y++) // nombre de ligne du filtre
    // detailsTable is the table where the content to be exported is
    {
       for (var x=0;x<example.rows(y).cells.length;x++)
       {
           oSheet.Cells(y+1,x+1) =
   dd[i];
       }
       i++;
   }
  
   oExcel.Visible = true;
   oExcel.UserControl = true;
   }

Alors j'arrive à sérparer chaque ligne du tableau, mon souci maintenant et de pouvoir "transformer" les virgules en tabulation afin que chaque colonne soit séparée.

Pour l'instant mon résultat est : A1 1,2,3 au lieu de A1 1 B1 2 C1 3

                                             A2  a,b,c au lieu de A2 a B2 b C2c

 

 

Email :


5 . 2011-07-27 15:18:38

Céline a écrit:

Je progresse, je récupère les données filtrées mais souci elles apparaissent sur 1 seule et même ligne  donc cela n'est pas très lisisble.

Est-il possible de changer le formatage de la méthode GetFilteredData? Si oui, où puis-je la trouver?

Merci.

Email :


6 . 2011-07-27 14:34:08

Céline a écrit:

Merci,

En fait, j'aimerai me servir de cette fonction pour récupérer que les données filtrées afin de l'exporter vers Excel. Car le souci pour le moment est que j'exporte toutes mes données, alors que j'aimerai avoir que celles qui correspondent à mes filtres.

J'espère ne pas faire fausse route...

 

Email :


7 . 2011-07-27 14:05:48

Max a écrit:

Ah ok, Moi je me referais a comment exporter vers Excel en fait, la methode GetFilteredData existe toujours, http://tablefilter.free.fr/doc_methods.php.
Si tu utilises le fichier tablefilter.js il faut importer le module des methodes publiques en activant la propriete public_methods dans l'objet de configuration

Email :


8 . 2011-07-27 09:39:55

Céline a écrit:

Merci Max,

J'ai regardé le message, tu fais références à la fonction GetFilteredData (), le souci est que je ne la trouve pas? A t-elle été remplacée?

Merci par avance

Email :


9 . 2011-07-26 21:41:29

Max a écrit:

Salut Céline,
Quelqu'un s est penché sur l'export Excel, il y a longtemps. Je te conseille d aller voir les archives en anglais http://tablefilter.free.fr/comments.php?l=en&a=1, plus précisement Wladimir, le commentaire n° 127. Fait aussi une recherche textuelle dans les archives en utilisant le mot 'excel', tu peux tomber sur d autres discussions...
Bon courage

Email :


Haut de page

30 . 2011-06-17 19:54:04

Jean-Patrick BONNE a écrit:

Bonjour Max,

Comme tous je trouve que tu as fait un boulot extraordinaire.

J'arrive bien à implanter le filtre et à le configurer:


var table_1_config = {
... etc.
}

var myTF = new TF("table_1");

Mais, bien qu'ayant fouillé un peu partout je ne trouve pas d'exemple pour aider le néophyte que je suis à récupérer une colonne filtrée avec myTF.GetFilteredDataCol();. Comment spécifier la colonne pour récupérer l'array des données filtrées? Je n'ai pas trouvé dans la doc

Merci d'avance

JPat

Email : bonne DOT jeanpatrick AT gmail DOT com


6 Réponses

1 . 2011-06-23 18:26:44

JPat a écrit:

Le mailing marche déjà du tonnerre. Maintenant, avec cet éditeur notre site va devenir un peu trop pro! ;)

Il me semblait bien  avoir lu que tu travaillais la dessus mais, je ne pensais pas que c'était aussi avancé.

C'est clair, il faut que je teste car c'est en effet très intéressant pour faire des mise à jour rapides de notre fichier adhérents, performances, records, et j'en passe, sans appeler le traditionnel formulaire php etc. Toujours la même chose, pas obligatoirement de fonctions sup mais rien que de l'utile et donc un confort des utilisateurs x10

Merci encore. C'est tu fais vraiment un boulot magnifique

Email :


2 . 2011-06-19 13:38:31

Max a écrit:

Merci de ton enthousiasme pour ce script, ça fait plaisir Smile!
Comme tu dis, c une solution coté client, donc une solution idéale pour des tableaux qui restent d une taille 'raisonable' en termes de nombre de lignes et de colonnes...
J ai travaillé ces dernieres semaines sur un autre projet tjs concernant les tableaux HTML, un script qui permet de selectionner les lignes et les cellules et aussi d' en éditer le contenu, si ça t'intéresse voici la URL: http://edittable.free.fr

La prochaine version du Table Filter sera couplé avec ce dernier script, le ezEditTable, pour fournir au final une vraie grille de selection et d édition...

A bientot,

Max

Email :


3 . 2011-06-19 10:13:59

JPat a écrit:

J'ai finit par trouver une solution qui marche en prenant l'autre façon d'appeler le filtre

<script language="javascript" type="text/javascript">

var tfConfig = {  

...

var tf = setFilterGrid("table_1", tfConfig);

 

function affiche(){

tf.publicMethods = true;

var dd= tf.GetFilteredDataCol(3);

alert(dd); 

}

</script>

la tout est ok j'ai bien tout le contenu filtré de la colonne

Je vais enfin pouvoir exploiter ton script à fond avec entre autre du mailing ciblé pour notre club de sport multi activité (cupau.free.fr : ahlétisme, natation,ski etc..) 

Et puis les idées surgissent à la pelle pour l'utiliser car les tableaux sont légion et on hésitait souvent à les afficher n'ayant pas de moyen facile de mettre en place un filtrage aussi rapide et efficace coté client . D'ailleurs free devrait te sponsoriser pour le soulagement de ses serveurs. Adieu le tout php! Bref le programmeur du dimanche que je suis est bien content ça se sent? ;). Merci beaucoup Max

à très bientôt

JPat

 

Email :


4 . 2011-06-19 10:02:30

Max a écrit:

Tout est possible, même que la méthode ne marche pas eh eh Tongue out!
Bon je vais te poser une question bidon mais il faut la poser quand même pour essayer d y voir + clair:  tu passes bien l'objet de config quand tu instancies l'objet TF?
var myTF = new TF('table_1', table_1_config);

J'éspère que c'est ça, si non il va falloir que je teste la fonction en question, eh eh!

Email :


5 . 2011-06-18 22:25:42

JPat a écrit:

Merci Max d'avoir répondu si vite.

J'avais déjà essayé de placer un argument numérique mais j'avais oublié de placer un public_methods: true, dans mon table_1_config. Je sens que les oreilles d'ane vont me poussser un peu plus mais si javascript ne plante pas  je n'ai pas pour autant de retour dans mon array. 
Voici le code que j'ai placé derrière la table:

<script language="javascript" type="text/javascript">

 

//<![CDATA[
var table_1_config = {
sort: true,

remember_grid_values: true,

remember_page_number: true,

remember_page_length: true,

alternate_rows: true,

paging: true,

results_per_page: ['lignes par page',[10,25,50,100]],

rows_counter: true,

rows_counter_text: "Fiches: ",

enable_empty_option: true,

enable_non_empty_option: true,

loader: true,

loader_html: '<div id="lblMsg"></div>',

loader_css_class: 'myLoader',

status_bar: true,

status_bar_text: 'Processing: ',

status_bar_target_id: 'lblMsg',

status_bar_css_class: 'myStatus',

public_methods: true,

col_0: "none",

mes autres colonnes_1à19,

col_20: "select",

display_all_text: "tous"

}

var myTF = new TF("table_1");

function affiche(){

var donnees= myTF.GetFilteredDataCol(2);

alert(donnees);

}

//]]>

</script> 

 

la colonne 2 contient toujours quelque chose.
les colonnes 0 et 1 contenait des images dans un lien, j'a tout remplacé par des nombres pour test mais rien ne change:
l'alert déclanché par un onclick sur un bouton est toujours vide
Mes oreilles d'âne  poussent

Email : bonne DOT jeanpatrick AT gmail DOT com


6 . 2011-06-18 17:06:18

Max a écrit:

Bonjour JPat,
En fait la fonction c'est la bonne mais la doc était imprecise, surement le fruit d'un copier/coller malheureux. La fonction accepte bien un entier indiquant l'index de la colonne qu'on veut recuperer:
var monArray = myTF.GetFilteredDataCol(2);
Je rapelle au passage que l'index de la première colonne est 0. Aussi si tu utilises le fichier tablefilter.js dans ta page, il faut activer dans l'objet de configuration l'import du module des méthodes publiques, faut juste mettre:
var config = { ...
   public_methods: true,
...
}

Voilà, merci d'avoir signalé cet erreur dans la doc, je viens de la corriger.

A bientot,
Max

Email :


Haut de page

31 . 2011-05-01 09:28:39

Nathan a écrit:

Bonjour Max,

Aurais-tu stp un exemple avec le grid layout qui présetnterais la barre des éléments en haut plutôt qu'en bas ?

En effet j'aimerais utiliser la même fonction que le fixed header mais il ne fonctionne pas sur mon tableau.

Je voudrais utiliser le grid_layout avec la barre des élément en haut  car j'ai rajouter l'extension afficher masquer les filtres, et la fonctionne ne fonctionne pas si elle est en bas.

Je te remercie pour ta réponse si c'est possible.

Cordialement

Email :


1 Réponse

1 . 2011-05-04 20:02:35

Max a écrit:

Salut Nathan,
Si ca ne marche pas avec le grid_layout je te conseille de voir le 2e exemple dans cette page http://tablefilter.free.fr/filters-manager.htm pour essayer de mettre un bouton a un autre endroit que celui par defaut, filters_row_visibility_target_id

Email :


Haut de page

32 . 2011-04-11 14:16:15

Nathan a écrit:

Bonjour Max,

Tout d'abord merci pour ta réponse.

Voici une autre question, j'ai trouvé sur ton site une possibilité d'implémenté l'auto-complétion, seulement aurais-tu une idée d'utiliser ce scritpt sur toute les colonnes et non sur une seule ?

Merci par avance. voici le script :

/*====================================================
    - bind an external script fns
    - fns below do not belong to filter grid script
    and are used to interface with external
    autocomplete script found at the following URL:
    http://www.codeproject.com/jscript/jsactb.asp
    (credit to zichun)
    - fns used to merge filter grid with external
    scripts
=====================================================*/
var colValues = new Array();
function setAutoComplete(id)
{
    var t = grabEBI(id);
    var bindScript = t.tf_bindScript;
    var scriptName = bindScript["name"];
    var scriptPath = bindScript["path"];
    initAutoComplete();
    function initAutoComplete()
    {
        var filters = TF_GetFilters(id);
        for(var i=0; i<filters.length; i++)
        {
            if( grabEBI(filters[i]).nodeName.toLowerCase()=="input")
            {
                colValues.push( getColValues(id,i) );       
           
            } else colValues.push( '' );
        }
        try {actb( grabEBI(filters[0]), colValues[O]);}
        catch(e){ alert(scriptPath + " script may not be loaded"); }

 

en remplaçant la ligne try avec des numéros on peux changer de colonne mais il ne prend que les valeur que d'une seule colonne.

 

Email :


3 Réponses

1 . 2011-04-12 23:23:40

Nathan a écrit:

je t'ai envoyé un mail avec les codes. j'espère que tu as pu les recevoir.

 

Email :


2 . 2011-04-12 21:57:50

Nathan a écrit:

Effectivement c'est sur une version 1.6 que j'ai récupéré ou tu avais mis des exemples en français

Email :


3 . 2011-04-12 09:07:57

Max a écrit:

Bonjour Nathan,
En fait, pourrais tu m indiquer ou est-ce que tu as trouvé ce bout de code sur le site, parce que il s agit surement d un oubli, étant donné que les fonctions utilisés se referent à l'état du script d il y a qques années, au moins v1.6...
Il n y a pas d exemples d'auto-completion avec ce script actuellement... Je pense que ce serait encore possible de l implementer.

Email :


Haut de page

33 . 2011-04-06 23:32:42

Nathan a écrit:

bonjour,

tout d'abord merci pour ce programme,

Voici ma question :

j'aimerais soir comment on fait pour implémenter 2 extensions car lorsque j'essaie de les mettre les un a la suite des autre, seule la dernière extension est implémenté.

j'espère que j'ai été suffisamment clair, merci par avance pour vos réponses.

cordialement

Email :


1 Réponse

1 . 2011-04-09 10:56:05

Max a écrit:

Bonjour Nathan,
Oui il est possible de charger plusieurs extensions à la fois grace à propriété extensions. Il y a un exemple dans la doc: http://tablefilter.free.fr/doc.php#grid_ext_mng

Email :


Haut de page

34 . 2011-03-31 20:06:15

laurent D a écrit:

bonsoir Mr Max

utilisant votre script en intranet mes collegues n'ont pas acces à internet pour visualiser les differents criteres de filtre .je voudrais utilser les fonctions du "?" pour afficher un popup qui afficherait une image que j'ai capturé de votre ecran d'aide.

donc voici ma question: comment afficher un popup avec une image qui s'appelle "criteres.jpg" en cliquant sur le point d'interogation .

merci de votre aide

laurent D

Email :


3 Réponses

1 . 2011-04-02 18:04:32

Max a écrit:

En fait, il y aurait aussi la propriété un peu barbare help_instructions_container_css_class qui permettrait de définir sa propre classe css et donc le 'look' de l élément conteneur.

Email :


2 . 2011-04-02 12:36:53

laurent D a écrit:

bonjour Mr Max

merci de votre reponse

j'avais bien vu les  2 proprietés et j'ai essayé de recopier le code du votre tableau d'aide dans cette proprieté mais sans succes c'est pour cela que j'ai opté pour une recopie image de votre tableau.

comme mes talents d'" informatitien "ne se borne qu'a recopier ce que je trouve je suis souvent dans l'embarra pour adapter à mes besoins.

puis je vous suggerer de rajouter cette reponse  sur la page des proprietés de help_instructions_html  et je rajouterai que pour adapter la taille du conteneur help à l'image il faut modifier le fichier filtergrid.css à la ligne div.helpCont et modifier max-width: à la dimension de l'image afficher.

merci beaucoup pour votre meiveilleux script

Email :


3 . 2011-04-02 11:18:16

Max a écrit:

Bonjour Mr Laurent,
D abord, merci d utiliser ce script dans un contexte professionnel ça fait plaisir.
Pour changer le texte du help il y a 2 propriétés, help_instructions_text et help_instructions_html (doc: http://tablefilter.free.fr/doc.php#grid_help). Dans ton cas faudra utiliser help_instructions_html:

var tfConfig{
...
help_instructions_html: '<img src="criteres.jpg" alt=""/>',
...
}

A bientôt

Email :


Haut de page

35 . 2011-03-15 14:18:21

Champarnaud Jean-Christophe a écrit:

Monsieur Max bonjour :)

Je cherchais dans ton code une possibilité de filtrer les champs vides d'une colonne (récupérer celle qui sont vide) mais je ne trouve pas.

J'aurais bien implémenté un regexp comme "^$", mais je ne sais pas où.

Peux tu me dire si il y a un caractère sépciale pour filtrer les cellules vides ou quelle est la fonction que l'on pourrait étendre par des REGEXP, si elle existe. (bien sure, si j'étendais une classe, je te donnerai les résultats i'm a GNU ;)

J'avoue faire beaucoup de JS mais loin d'être aussi pointue que ta bibliothèque ;)

Amicalement

 

Email : jc DOT champarnaud AT gmail DOT com


4 Réponses

1 . 2011-04-07 14:21:49

Jean-Christophe Champarnaud a écrit:

Je réouvre ce dossier que je n'avais pas oublier pour constater que je suis une bille Frown

En fait je cherchasi la possibilité de filtrer les 'vide' ou 'non vide' dans un INPUT standard.

En me penchant sur ton code, bien décidé à tordre le cou à mon besoin, je viens de découvrir que les mots maqigues sont [empty] et [nonempty]

Ok, je retourne à la case bulot cuit ...

Laughing

Email : jc DOT champarnaud AT gmail DOT com


2 . 2011-03-16 19:29:55

Max a écrit:

Salut JC,
Je dois avouer que moi meme je ne maitrise pas du tout les regexp, et je suis d accord avec toi que pour l utilisateur lambda ce n est pas l idéal d utiliser une expression regulière dans un filtre, eh eh.
Franchement, fais le que si c un plaisir pour toi, ne te sens pas obligé, c serai un petit plus.
Oui, ce serait documenté dans le help ('?'). Moi en ce moment je travaille sur autre projet annexe, tjs sur les tableaux HTML, un script qui permet de selectionner et d editer les cellules du tableau, du déjà vu mais ça completerait bien ce script...

Email : tablefilter AT free DOT fr


3 . 2011-03-16 14:06:23

Champarnaud Jean-Christophe a écrit:

Merci Max, ça fonctionne :)

Bon ma proposition est valable pour étendre ta classe, j'ai jetté un oeil rapide à _Filter et je ne vois pas en première lecture où brancher une recherche REGEXP.

Je fais une deuxième lecture et je reviens vers toi.

Par contre je penses que les utilisateurs lambda (pas les webmaster, les visiteurs de site) qui utilisent ta classe sans le savoir (ce qui est AMHA une erreur fondamental ;-) ) ne maitrisent pas la puissance du REGEXP ni sa beauté !

Du coup, peut être que je limiterai à des caractères magique (ex : '*' au milieu d'une chaine) l'évolution. Ceci pouvant être 'documenté' pour l'utilisateur via ta fonction '?' (suis je claire ?)

Qu'en penses tu ?

Email : jc DOT champarnaud AT gmail DOT com


4 . 2011-03-15 18:02:02

Max a écrit:

Salut JC ;-)
Merci de ton commentaire, il existe 2 mots clés: [empty] et [nonempty] et qques autres opérateurs listés dans http://tablefilter.free.fr/ dans la section Filter operators. Deux démos utilisant ces operateurs avec des menus déroulants: http://tablefilter.free.fr/custom-theme.htm et http://tablefilter.free.fr/theme.htm

Si tu veux étendre la classe, pour qu on puisse utiliser des regexp dans les filtres par exemple, fais moi signe, je serai content de te montrer les endroits où il faudrait intervenir (en gros dans la méthode _Filter)

Email :


Haut de page

36 . 2011-03-06 20:51:01

Erik a écrit:

Bonjour Max,

Merci pour ton bon travail!

Je ne suis pas un programmeur et j'utilise ton script dans un site web.

J'arrive à bien le faire fonctionner mais j'ai un problème avec la fonction custom_slc_options voici mon code :

 

<script language="javascript" type="text/javascript">
    var table3Filters = {
     filters_row_index:1, 
        sort: true,
        sort_config: {
            sort_types:['dmy','dmy','String','String','String','String','US']
        },
        display_all_text: "< Tous >",
        col_0: "select",
        col_1: "none",
        col_2: "none",
        col_3: "select",
        col_4: "none",
        col_5: "none",
        col_6: "none",
        rows_counter: true,
        rows_counter_text: "Total voyages: ",
        btn_reset: true,
        btn_reset_text: "Réinitialiser les voyages",
        loader: true,
        loader_text: "Affichage des voyages...",
        grid: true,
        alternate_rows: true,
        custom_slc_options: { 
             cols:[0], 
             texts: [['Mars 2011','Avril 2011','Mai 2011','Juin 2011','Juillet 2011','Août 2011','Septembre 2011','Octobre 2011','Novembre 2011','Décembre 2011','2012']], 
             values: [['>=01/03/2011 && <01/04/2011','>=01/04/2011 && <01/05/2011','>=01/05/2011 && <01/06/2011','>=01/06/2011 && <01/07/2011','>=01/07/2011 && <01/08/2011','>=01/08/2011 && <01/09/2011','>=01/09/2011 && <01/10/2011','>=01/10/2011 && <01/11/2011','>=01/11/2011 && <01/12/2011','>=01/12/2011 && <01/01/2012','>=01/01/2012 && <01/01/2013']], 
             sorts: [true] 
         },
         col_width: ["70px","70px","90px","90px","100px","200px","80px"]
    }
    setFilterGrid("tblVoyage",table3Filters);
</script>

Je tourne en rond depuis quelques jours, quel est le problème?

 

Email : eborrelli AT eborrelli DOT com


1 Réponse

1 . 2011-03-07 13:09:57

Max a écrit:

Bonjour Erik,
Quel est le probleme exactement? Une erreur javscript?

Email :


Haut de page

37 . 2011-02-28 20:29:38

orveo a écrit:

bonsoir

j'utilise actuellement  votre script dans une page html qui fonctionne en local et cela fonctionne parfaitement merci.le souci est que je transforme un fichier XML que j'integre dans ma page  HTML.

auriez vous un exemple si cela est possible de votre script où les donnees sont stockées dans fichier xml pour etre utiliser façon data island dans IE5 (cela doit fonctionner en local sans serveur).

cordialement

orveo

Email : orveo AT free DOT fr


1 Réponse

1 . 2011-03-03 13:37:59

Max a écrit:

Bonjour Orveo,
Je n ai pas ce type d exemple, le script en fait ne s occupe pas des datasources utilisées pour génerer un tableau HTML. Ce script permet de filtrer les colonnes à partir d un tableau HTML, peut importe comme celui ci est géneré (coté serveur, transformation XML/XSL, DOM ou autre). Il faut juste s assurer que le tableau soit rendu par le navigateur avant d appeler le script.

Email :


Haut de page

38 . 2011-01-24 18:12:23

Sylvain a écrit:

Bonjour,

j'essaie d'intégrer Table filter, à un projet, de façon un peu générique ... et dès que j'ai 2 tableau dans la page :

 - filter = ok

 - paging = ok

 - sorter = 1er tableau seulement ?

et donc le trie des colones ne se déclenche que sur le permier tableau ??

avez vous une solution ? piste ?

merci d'avance

--

Sylvain

Email : sylvain AT guaph DOT net


3 Réponses

1 . 2011-01-25 21:21:12

Max a écrit:

Merci de tes retours Sylvain,
en fait souvent c juste une question de documentation, peut-être que les infos ne sont pas facilement accessibles. Par exemple, il y a plusieurs façon d instancier l objet TF, même par classe css ("filterable") et aussi on peut utiliser un seul objet de configuration (params) pour plusieurs tableaux dans la même page, comme dans http://tablefilter.free.fr/doc.php.
La limite n est pas du au fait de ne pas utiliser jQuery, au contraire le fait de ne pas lier ce script à une librairie tel que jQuery ou Prototype, represente un atout, cela permet de toucher n importe quel public, independamment de leur niveau et de leur librairie de prédeliction. Et aussi le script n est pas tributaire de mises à jour de ces framework etc... Et en plus il n y pas de preréquis, cad, charger une librairie pour faire marcher le tout! Et cérise sur le gateau il marche avec n importe quel librairie js chargé dans la page... Retrospectivement le choix de le garder tel quel s est revelé être très judicieux!
Bref, si t as besoin d éclaircissements pour les chemins, les images du sorter, le 'declenchement', utiliser un seul objet de configuration etc n hesites pas à me faire signeSmile

Email : tablefilter AT free DOT fr


2 . 2011-01-25 18:23:11

Sylvain a écrit:

Merci Max,

ça fonctionne enfin, j'ai bien blocé par la fait qu'il ne falait pas renommer les fichiers

de manière général la solution fonctionne très bien, et la plus complète que j'ai trouvée jusque là

mais je trouve délicate à intégrer :

  • difficile de maitriser les chemins (template/tablefilter/...) des différents fichiers (js, css, img) :
    mais je pense que je vais finir par y parvenir
    • je bloc encore avec l'image pour sorter <img src="img/blank.png" class="sort-arrow">
  • le mode de déclenchement / d'appel
    • devoir avoir un ID sur <table>
    • déclarer les params pour chaque tableau dans la page via <script>

j'imagine que pour des raisons historiques, et choix technologiques ceci explique cela ...

mais c'est vrai que pour avoir intégré beaucoup de plugins jQuery par exemple ... ça semble souvent plus souple

j'essaie d'ailleurs de contourner cela avec jQuery, et de ne laisser plus que les propriétés propre à chaque tableau : les colonnes, trie, filtres ...
mon but étant d'avoir quelque chose de générique, facile à surcharger si besoin

 

merci encore Max,
bonne suite :-)

Email :


3 . 2011-01-24 19:27:05

Max a écrit:

Sylvain,
dans cette page il y a un exemple de 2 tableaux: http://tablefilter.free.fr/data-types.htm avec du sort activé. Mon conseil est d importer le fichier tablefilter_all.js (ou tablefilter_all_min.js) et aussi sortabletable.js et tfAdapter.sortabletable.js afin de ne pas utiliser le mechanisme de load automatique des scripts...

Email :


Haut de page

39 . 2010-11-25 12:02:24

Jean-Christophe a écrit:

Bonjour Max,

 

J'utilise avec bonheur cette classe et franchement BRAVO pour ce travail.

 

Une question concernant les "sum", quand j'acris le 'id' de celulle en dure dans le code ça fonctionne comme prévu hors quand je passe les 'id' dans une variable impossible. J'ai un tableau à nombre de colonnes variables et ne peut donc coder en dur toutes les cellules de bas du tableau.

 

Une partie de mon code :

 

...

var colSum='';
        var caseSum = '';
        var oper='';
        var decimalPrecision='';
        for (var i=7; i <= nbCol; i++)
            {
                caseSum = caseSum+'\"'+'r'+(totRowIndex - 2)+'c'+i+'\",';
                colSum = colSum+i+',';
                oper = oper+'\"sum\",';
                decimalPrecision=decimalPrecision+'0,'
            }
        var reg = new RegExp(",$", "g");
        colSum = colSum.replace(reg, "");
        caseSum = caseSum.replace(reg, "");
        oper = oper.replace(reg, "");
        decimalPrecision = decimalPrecision.replace(reg, "");

...

col_operation: {  
                    id: [caseSum], 
                    col: [colSum], 
                    operation: [oper], 
                    // write_method: ["innerHTML","setValue"], 
                    exclude_row: [totRowIndex], 
                    decimal_precision: [decimalPrecision] 
                },

 

Aurait tu un élément de réponse, une piste.

Déjà merci d'avoir lu jusque là ;)

Email : jc DOT champarnaud AT gmail DOT com


7 Réponses

1 . 2010-12-09 21:14:54

Max a écrit:

Tout est bien qui finit bien Smile!

Email :


2 . 2010-12-06 16:19:21

Jean-Christophe a écrit:

J'ai trouvé mon erreur :

A la constitution du tableau.

Je faisiai

oper.push('\"sum\"');
Au lieu de
oper.push('sum');

En effet, les strings n'ont pas besoin des doubles quotes dans le tableau.

Merci encore pour ton package, je continue pluq que jamais à le découvrir :)

PS en relisant nos échange, je me rends compte que je viens d'intégrer "gdfsuez". Ok il n'y a pas que la pression du boulot, la pression de madame sur les factures fait son oeuvre :D

Email : jc DOT champarnaud AT gmail DOT com


3 . 2010-12-06 14:55:45

Jean-Christophe Champarnaud a écrit:

Bonjour Max,

Je cale un peu toujours sur mon même problème, donc je continue sur ce thread.

voici mon code :

        // filtergrid
        var totRowIndex = tf_Tag(tf_Id('tableau'),"tr").length;
        var nbCol = document.getElementById('tableau').rows[0].cells.length;
        var colSum=[];
        var caseSum = [];
        var oper= [];
        var decimalPrecision=[];
        for (var i=7; i < nbCol; i++)
            {
                caseSum.push('r'+(totRowIndex - 2)+'c'+i);
                colSum.push(i);
                oper.push('\"sum\"');
                decimalPrecision.push(0);
            }
        var table9_Props = { 
                paging: false,
                rows_counter: true, 
                rows_counter_text: "Lignes : ", 
                rows_always_visible: [1],
                col_2:"none",
                col_3:"none",
                col_4:"none",
                col_5:"none",
                col_6:"none",
                col_7:"none",
                col_8:"none",
                col_9:"none",
                col_10:"none",
                col_11:"none",
                col_12:"none",
                col_13:"none",
                col_14:"none",
                col_operation: {  
                    id: caseSum,
                    col: colSum, 
                    operation: oper,
                    decimal_precision: decimalPrecision,
                    write_method: ["setvalue"],
                    exclude_row: [totRowIndex]                     
                }, 
                rows_always_visible: [totRowIndex],
                btn_reset: true, 
                bnt_reset_text: "Clear all ",
                loader: true, 
                loader_html: '<h4 style="color:red;">Mise à jour patientez ...</h4>'                    
            }; 
        setFilterGrid( "tableau",table9_Props );

Maintenant, mes variables sont bien des tableaux. Mais dans la somme, je n'obtient que des points (.). Dans les bonnes cellules et quelque soit mon nombre de colonnes.

Je pensais au début que je tantais d'aditionner l'entête qui est alphanumérique, mais je constate que sur d'autres tableaux codés en dur, je n'ai rien de différents. Ma seul contrainte est le dynamisme des colonnes à additionner.

En remontant sur le 'case' qui amène le '.', je vois qu'il est en "innerhtml" mais en forçant "setvalue" je n'ai pas mieux.

Une idée, une piste peut-être ?

Cordialement

Jean-Christophe

Email : jc DOT champarnaud AT gmail DOT com


4 . 2010-11-25 18:35:02

Jean-Christophe a écrit:

Merci Max pour cette réponse on ne peut plus rapide.

Le problème est partiellement résloue, le passage par des tableaux fonctionne.

Par contre j'obtient des points en lieu et place des sommes. Je vais essayer d'investiguer pourquoi mais je penses qu'il somme aussi l'entête du tableau qui est en lettre.

En écrivant je réfléchis et je me dis que sur les utilisations que j'ai faite de ta classe avec codage en dur, je n'ai pas ce problême.

Je pousse mes recherches et te remercie encore.

Cordialement

Email : jc DOT champarnaud AT gdfsuez DOT com


5 . 2010-11-25 13:52:09

Max a écrit:

Fausse joie je viens de m apercevoir que c des strings... Bref, vaux mieux utiliser des vrai array cad:
    var colSum=[];
        var caseSum = [];
        var oper= [];
        var decimalPrecision=[];
        for (var i=7; i <= nbCol; i++)
            {
        caseSum.push('r'+(totRowIndex - 2)+'c'+i);
        colSum.push(colSum+i);
        ...               
            }
    ...
             col_operation: { 
                    id: caseSum,
                    col: colSum,
                    operation: oper,
                    // write_method: ["innerHTML","setValue"],
                    exclude_row: [totRowIndex],
                    decimal_precision: decimalPrecision
                },

Email :


6 . 2010-11-25 13:45:55

Max a écrit:

Ah une seconde! Si c des array pas besoin de mettre des crochets:
...
id: caseSum,
col: colSum,
operation: oper
etc...

Smile

Email :


7 . 2010-11-25 13:41:03

Max a écrit:

Salut Jean-Christophe,
assure toi que les variables en question soit de type 'array', il y a une fonction utilitaire du script qui permet de tester ça, tf_IsArray(obj) et aussi je testerais bien que les ids soit bons à l aide de la fonction tf_Id(id) (tf_Id(caseSum[0]) par exemple) qui n est qu un shortcut de document.getElementById. Si cette fonction renvoi null, ca veut dire le id n est pas bon.
J espere que cela puisse t aider, tiens moi au courant

Email :


Haut de page

40 . 2010-09-15 14:01:26

piepiax a écrit:

Bonjour Max,

 

Suite à la mise en place du script sous forme de modules, Est-il plus performant (pour l'execution du javascript) de ne charger que les modules reelement utilisés ?

Question subsidiare, si c'est plus performant, quels sont les modules a charger avec ce code

<script type="text/javascript" language="javascript">
//<![CDATA[   
   
    var props = {
       
        sort: true,
        filters_row_index: 1,
        remember_grid_values: true,
        alternate_rows: true,
        rows_counter_text: "Clones: ",
        rows_counter: true,
        btn_reset: true, 
        btn_reset_text: "Reset filters",  
        loader: true, 
        loader_text: "Filtering data...",
        display_all_text: "[show all]",  
        col_1: "select",
        custom_cell_data_cols: [1],
        custom_cell_data: function(o,c,i){    
            var chk = c.getElementsByTagName('input')[0];
            if(chk.checked)return 'Checked'; 
            else return 'UnCkecked';
        },
                   
       
        /*** Extensions manager ***/ 
        extensions: {  
            /*** Columns Visibility alone extension load ***/  
            name:['ColsVisibility'],  
            src:["../js/TFExt_ColsVisibility.js"],  
            description:['Show/Hide columns'],  
            initialize:[function(o){o.SetColsVisibility();}]  
        },       
        /*** Columns Visibility Manager extension properties ***/ 
        showHide_cols_at_start: [14,9,16,4,8,6,5,7], 
        ColsVisibility_Stylesheet:"../css/TFExt_ColsVisibility.css",
        btn_showHide_cols_text:'Show/Hide columns',
        showHide_cols_text:'Check name to hide column'
       
               
    }
    setFilterGrid("results",props);
//]]>
</script>

Email : piepiax AT free DOT fr


2 Réponses

1 . 2010-09-20 16:35:49

piepiax a écrit:

Merci Max pour ton conseil

Email :


2 . 2010-09-16 13:17:15

Max a écrit:

Bonjour piepax,

dans la mesure ou on charge moins de Ko, c plus performant au load de la page. Si on utilise plein d'options peut-etre il vaut mieux utiliser le fichier tablefilter_all.js qui contient le tout ma qui est assez lourd (presque 200 Ko). Par contre pour ceux qui utilisent très peu d options, il est plus intéressant de charger 109 Ko ou 66 pour la version minimisée que 195 ou 118 Ko (tablefilter_all_min.js). Dans ton cas j utiliserai la méthode par modules.
J ai eu bcp de demandes de rendre le script plus 'modulaire' surtout pour les développeurs qui utilisent le script pour les téléphones portables.
Si non, il faut pas se soucier des modules à charger, le script se charge de les importer en fonction des options de l objet de configuration.

Email :


Haut de page

41 . 2010-08-22 19:10:44

geko a écrit:

Bonjour à tous
Après un dimanche studieux mais inutile je me tourne vers vous.
J'essaie de créer un div avec la variable grid_cont_css_class.
Pour ce faire j'ai positionné grid_layout à true
(encore que dans la doc on dit que cela est sa valeur par défaut)
Quand j'attibue à grid_layout false le div container n'est pas créé.
Mais si il est à true j'ai une erreur à la ligne +- 3091 soit
initialize:[function(o){o.SetColsResizer('ColumnsResizer_'+o.id);}]
Cette ligne est conditionnée par this.gridEnableColResizer
Peut être le div est il incompatible avev un redimensionnement de colonne ?
J'ai donc positionné grid_enable_cols_resizer à true pour éviter cette ligne.
Avec cela le div container est bien crée mais le div d'information et en dessous !!
Dans le dome si grid_layout est true la table est coupée en deux tables une <thead> avec les titres
de colonnes et les inputs de filtre et l'autre avec des balises <col> et le <tbody>
Si grid_layout= false, une seul table <tbody>.
ci joint le props je ne comprend plus rien

var props = {
                filters_row_index:0,        // 0 = filtres avant les entetes de colonne 1 = après
                filters_cell_tag:'td',      // ????
                fixed_headers:true,         // ????
                btn: false,                 // avec ou sans bouton GO
                btn_text: "zut",            // texte du bouton GO
                grid_layout: false,
                //----------------------   choix de tête   ----------------
                enter_key: true,            // ajout dans les listes un message pour afficher tous les enregistrements
                display_all_text: " All ",  // texte pour dito
                //----------------------                   ----------------
                on_change: true,            // trie les cliques sur un choix !!! supprime btn
                exact_match: false,         // correspondance exacte en recherche et clef !! like ===>false
                match_case: false,           // false insensible à la case
                sort_select: false,          // avec ou sans tri des éléments des listes déroulante           
                //----------------------   affichage compteur   ----------------                
                rows_counter: true,        //affiche ou non le nombre de lignes affichées
                rows_counter_text: "Totale du critère ",// texte pour dito
                //----------------------   affichage reset   ----------------                
                btn_reset: true,            // affiche  ou non le bouton de reset à droite de la ligne
                btn_reset_text: "RAZ FILTER",// texte pour dito
                //----------------------   pagination   ----------------
                paging: true,              // avec ou sans pagination
                paging_length: 10,           // nombre de ligne par page
                //----------------------   loader   ----------------
                loader: true,               // avec ou  sans affichage du message de chargement
                loader_text: "Patientez SVP...",//message pour dito
                //----------------------   dimension   ----------------                
                col_width: ["7%","30%","18%","7%","8%","7%","10%","7%","10%"],
                grid_width: null,           //????????
                grid_height: null,          //????????
                //----------------------   couleur alternative de ligne   ----------------                
                alternate_rows:true,
                even_row_css_class:'even',
                odd_row_css_class:'odd',
                //----------------------               ----------------                
                 grid_enable_cols_resizer:false,
                // select=liste;none rien du tout; par défaut input texte
                col_0: "none",            // classement
                //col_1: "none",          // Nom
                col_2: "none",            // Prenom
                col_3: "none",            // Temps                 
                col_4: "select",          // Sexe
                col_5: "none",            // Classement par sexe
                col_6: "select",          // Catégotie
                col_7: "none",            // Classement par catégorie
                col_8: "select"           // nationnalité   
        }
        setFilterGrid("grid",1,props);

Email :


3 Réponses

1 . 2010-09-05 10:09:29

Max a écrit:

Bonjour Gecko,

je pense qu'il doit y avoir surement des styles dans des éléments parents ou siblings qui doivent 'interferer' avec les alignements des divs qui contiennent les tableaux html. Pour tout ce qui du rendu de la page, il y a une fonctionnalité sous IE8 que je trouve très utile, le mode developpéur, on y accède en appuyant sur F12 et ça permet, entre autres, de voir tout les noeuds de la page et leur style et de pouvoir jouer avec. En fait, je ne sais pas si tu l utilise, mais ca permet vraiment de comprendre ce qui se passe au niveau du rendu. Il y a exactement la meme chose sous Firefox, en tant que add-on, et nativement sous Chrome.
J 'éspère que cela te puisse t aider.

Email :


2 . 2010-08-30 12:42:59

Geko a écrit:

Bonjour Max
Découragé ? Pas loin mais les potentionnalités de cette classe m'incite à insister.
J'ai décortiquer l'exemple et avancé un peu. Encore que plus on avance plus on se rend compte des possibilités cachées et de la complexité qui va avec.
Il me reste deux problèmes(au niveau ou je suis); d'abord les colonnes du tableau head et celui du contenu ne sont pas tout à fait alignée. Surtout sur IE (I looooove MS!!!) ou j'ai du faire une coch...
/*\*/
* html div.grd_headTblCont { margin-left :-18px}
* html div.grd_tblCont table { margin-left :-1px}
/**/
Ensuite pour le centrage dans les colonnes, ce que j'ai trouvé dans l'exemple
    table.colsAlignments tr td:first-child { text-align:center; }
    table.colsAlignments tr td:first-child + td { text-align:left; }
fonctionne avec firefox mais pas avec IE8. Encore que avec l'exemple cela fonctionne ????
J'ai encore du rater qqch
Bien à toi

Email :


3 . 2010-08-23 14:07:06

Max a écrit:

Bonjour geko,
j ai l'impression que tu es un peu désespéré... Je ne sais pas si tu as eu l'occasion de regarder cette page de demo:
http://tablefilter.free.fr/grid-layout.htm
tu y trouveras des exemples d utilisation du grid_layout. Dans ton objet de config j ai remarqué qu'il y a l ancienne propriété fixed_headers à true et grid_layout à false. Il faudrait supprimer fixed_headers et mettre grid_layout à true et il faudrait aussi supprimer filters_row_index car le grid_layout le met à 1 par défaut.
Voilà tiens moi au courant

Email :


Haut de page

42 . 2010-08-14 09:26:24

geko a écrit:

Bonjour
D'abord il faut dire que ce programme est une petite merveille
J'ai cependant un petit problème totalement incompréhensible (pour moi du moins).
Soit un tableau dont la largeur des colonnes est fixée en % dans un css.
Il possède un champs de filtrage de type select avec un display_all_text à 'ALL'.
Quand on filtre sur l'option 'ALL' ou sur la première des options disponibles tout se passe bien.
A partir de la 2eme option(hors All) la largeur des colonne est modifiée ??
C'est tout à fait comme si les largers imposées par le CSS était remplacée par des proportions calculées
sur le contenu des cellules. C'est pour moi assez gènant.
Quelqu'un aurait-il une idée? Merci d'avance.
NB j'utilise une ancienne version de table_filter.js mais avec la nouvelle version c'est pareil

Geko

Email : francis DOT saenen AT scarlet DOT be


3 Réponses

1 . 2010-08-22 07:47:25

geko a écrit:

Merci de votre réponse aussi rapide. mon expérience de cet objet portait sur une vielle version.
J'ai donc du me mettre à nieveau avec tous les nouveaux parametres
Votre suggestion fonctionne parfaiement.Un grand merci !
Maintenant j'essaye de comprendre comment fonctionnent les valeurs des class CSS du genre
grid_tbl_cont_css_class Pour le moment sans grand succes mais je ne renonce pas (encore)

A bientôt

Email : francis DOT saenen AT scarlet DOT be


2 . 2010-08-22 07:41:11

geko a écrit:

Saisissez votre commentaire ici...

Email :


3 . 2010-08-14 20:08:30

Max a écrit:

Bonjour Francis,
mon conseil est d'utiliser la propriete col_width en lui affectant les meme valeur en pourcentage que dans la css et enlever les valeurs dans la css. En tout cas le script ne recalcule pas la lageur des colonnes, le table bouge parce que la taille maximale du contenu de la colonne a change apres le filtrage. Il faudrait peut etre donner une lageur a la table elle meme (100%) si cela n a pas ete fait et/ou utiliser la propriete css table-layout (fixed) pour figer le tout.
Voici quelques exemples de largeurs de table qui ne sont pas censes bouger pas apres filtrage:
http://tablefilter.free.fr/filter-sort.htm
http://tablefilter.free.fr/datademo2.htm
http://tablefilter.free.fr/theme.htm

Bon j espere que cela va vous aider a fixer le pb, c est juste une histoire de proprietes html et css de la table Smile

Email :


Haut de page

43 . 2010-04-01 14:04:47

a écrit:

Saisissez votre commentaire ici...Bonjour j'utilise une application et je voudrais accéléré le temps de refresh qui est trop long en d'autre terme j'utilise deux bloqueur de pub mon temps de refresh = 2second je le voudrais a 1 seconde est ce possible et comment je fait merci voila le code source de ma page je n'es mis q'une partie du code en attendant de vous lire merci

Email : dogoargentinos AT hotmail DOT fr


0 Réponse

Haut de page

44 . 2010-03-13 22:31:28

Sergio a écrit:

Bonsoir,

Je voudrais ajouter un événememt onchange aux select du tableau, mais je ne sais pas ou mettre mon événement.

var totRowIndex = tf_Tag(tf_Id('tableau'),"tr").length;       
    var tf_table2_Props = {
        //rows_always_visible:[10],
        //highlight_keywords: true,  
    //on_keyup: true,  
    //on_keyup_delay: 1500,  
    //single_search_filter: true,
        sort: false, //Trier croissant, décroissant
        filters_row_index: 1, //position liste déroulante
        remember_grid_values: true,
        remember_page_number: false,
        remember_page_length: false, // Se souvenir du dernier choix longueur page, tri...
        alternate_rows: true,
        paging: false,
        results_per_page: ['Résultats par page',[26,40,50,120]],
        rows_counter: true,
        rows_counter_text: "Nombre de lignes : ",
        tot_rows_css_class: 'bandeau_tableau',
        loader: true,
        loader_css_class: "myLoader",
        loader_html: '<img src="./js/img/loader.gif" alt="" style="vertical-align:middle; margin-right:5px;" />Chargement du tableau...',
        status_bar: false,
        btn_reset: true,
        btn_reset_text: "Réinitialiser",
        btn_reset_css_class: "bandeau_tableau",
        fixed_headers: true,
        tbody_height: 600,
        //rows_always_visible: [totRowIndex], // Si décommenter problème ligne en plus en bas du tableau
        col_operation: {   
                    id: ["Tot1"],//id de la colonne html à sommer
                    col: [8],//Numéro des colonnes à sommer. La 1er colonne commence par 0  
                    operation: ["sum"],//Mode de cacul 
                    write_method: ["innerHTML"], //Une method par colonne. 
                                        //exclude_row: [totRowIndex], Si décommenté problème de calcul sur la dernièer ligne.
                    decimal_precision: [0,0]//Nombre de chiffre après la virgule.
                   },
        //col_width: ["12px","170px",null,null,null,null,null,null,null,null,null,null,null,null,null],
        sort_select: true,
        col_0: "select",
        col_1: "select",
        col_2: "select",
        col_3: "select",
        col_4: "select",
        col_5: "select",
        col_6: "select",
        col_7: "select",
        col_8: "select",
        col_9: "select",
        col_10: "select",
        inf_div_css_class: "inf",  
        display_all_text: "--Tous--"
    }
    setFilterGrid("tableau",tf_table2_Props);

Merci :)

Email :


1 Réponse

1 . 2010-03-31 13:55:02

Max a écrit:

Sergio, ce que tu pourrais faire c'est d'utiliser la methode GetFiltersByType(type) pour avoir les ids des filtres de type select (monTF.GetFiltersByType('select')) et ensuite ajouter un evenement onchange au filtre tf_Id(idFiltre), je dis bien ajouter et pas ecraser, puisque le script ajoute déjà un événement onchange au filtre et il en a besoin.

Email :


Haut de page

45 . 2010-01-27 01:58:29

zimax a écrit:

Bonjour,

tout d'abord merci pour cet excellent script.

je voudrais savoir s'il est possible de conserver un tri comme lors d'un remember_grid_values ou remember_page_number .

Merci de votre aide. 

Email : zimaxe AT hotmail DOT fr


2 Réponses

1 . 2010-02-01 16:31:01

zimax a écrit:

Bonjour max, merci beaucoup pour ta réponse.

Je vais faire mes tris en php pour pouvoir les conserver dans mes url via $_get.

merci encore pour ton travail qui m'a grandement facilité la vie.

Bonne continuation.

Email :


2 . 2010-02-01 08:54:10

Max a écrit:

Bonjour zimax, il n'est pas possible de garder le tri en mémoire, par contre on peut trier une colonne par défaut lors de l'initialisation de la grille.

Email :


Haut de page

46 . 2010-01-10 15:54:40

webac a écrit:

Bonjour,

est-il possible de mettre dans le champs de filtre la valeur "rechercher" mais que tous les enregistrements apparaissent quand même et que onFocus la valeur "rechercher" disparaisse?

Merci de votre aide

Email :


3 Réponses

1 . 2010-01-21 14:07:09

Max a écrit:

Salut Piepiax, merci pour ta contribution!
Elle sera surement dispo dans la prochaine version.
A bientot,

Email :


2 . 2010-01-20 16:40:33

piepiax a écrit:

Bonjour à tous,

 

Je me permet de "m'incruster" dans le thread car je viens de modifier tablefilter.js afin de répondre à cette question pour mes besoins !

 

1) Fonction var TF = function( id ) (TF object constructor)

Ajouter vers ligne ~255:

this.inputTextTooltip=f!=undefined&&f.input_text_tooltip!=undefined?f.input_text_tooltip:'';

=> Introduit une nouvelle variable pour le constructeur afin de choisir le texte à afficher dans les InputBox -> Vide par défaut:

-> Peut être 'Type text for filter' ou 'Rechercher' ou autre ...

2) Fonction _OnInpFocus

Ajouter vers ligne ~629:

if(this.value==o.inputTextTooltip && o.inputTextTooltip != ''){this.value='';}

=> Remet le champ à vide si égal à la variable input_text_tooltip afin d'écrire le filtre

3) Fonction/variable TF.prototype =

Remplacer vers ligne ~990:

AVANT: var inp = tf_CreateElm( this.fltTypeInp,['id',this.prfxFlt+i+'_'+this.id],['type',inptype],['ct',i] );

APRES: var inp = tf_CreateElm( this.fltTypeInp,['id',this.prfxFlt+i+'_'+this.id],['type',inptype],['ct',i],['value',this.inputTextTooltip]);

=> Ajoute la valeur de la variable input_text_tooltip à tous les champ InputBox

4) Fonction _Filter

Ajouter vers ligne ~2460 (avant invokes eventual onbefore method)

if(this.inputTextToolTip != ''){ //Not necessary if empty
   for(var i=0; i<this.fltIds.length; i++){
      if(this.GetFilterValue(i)==this.inputTextTooltip){
         this.SetFilterValue(i,'');
      }
   }
}

=> Supprime le texte de tous les InputBox si égal à la variable input_text_tooltip car pas obligatoirement fait de OnFocus sur toutes les InputBox

=> Cette dernière modif aurait peut être pu se faire via la variable on_before_filter mais c'est plus simple comme cela !

 

Max, penses-tu ajouter cela dans la prochaine version (avec des améliorations si besoin !) ?

Merci @+

Email : piepiax AT free DOT fr


3 . 2010-01-13 13:41:21

Max a écrit:

Bonjour, à l'heure actuelle il n'y a pas de propriété pour effectuer cela. Il est possible d'y parvenir je pense en jouant avec le onfocus des filtres génerés dynamiquement.

Email :


Haut de page

47 . 2009-12-21 17:00:08

maj a écrit:

salut;

j'ai un prob j'ai pas pu utiliser l'exemple en ajax est ce que je peu avoir un exemple compler en ajax

merci d'avance

Email :


0 Réponse

Haut de page

48 . 2009-12-08 02:45:03

psp a écrit:

Bonjour,

j'ai un petit problème, mon tableau fonctionnais bien avec 5 colone. j'en ai ajouter un 6e et là dès que le navigateur affiche le tableau il cache tous les données.

 

merci pour les futures réponse

Email :


2 Réponses

1 . 2009-12-11 16:21:06

Max a écrit:

PSP, si t'utilises cette propriété et en même temps tu changes la structure de la table (nombre de colonnes par ex.) il vaut mieux supprimer les cookies de ton navigateur regulièrement, puisque le cookie qui stocke les valeurs des filtres fait réference à la structure de la table que tu viens de changer. Bref, si tu fait un nettoyage des cookies et tu réactives la propriété ça devrait remarcher.

Email :


2 . 2009-12-11 01:56:04

psp a écrit:

salut,

après bien des mots de tête, c'Est la paramêtre : remember_grid_values: true,  qui causait le fait que les <td> avais automatiquement un style="display:none"

 

Je sui sloin d'avoir la capacité a comprendre le pourquoi, mais une fois ce paramêtre retiré, tout semble bien fonctionnée

Email :


Haut de page

49 . 2009-11-29 18:55:26

PSP a écrit:

Super application.

 

J'ai pas trouver la réponse a mon problème.

 

Es ce qu'il es possible d'apliquer filtre uniquement sur la position de la lettre

du genre si je filtre "jo" sa va me sortir tout ce qui commence avec "jo"

jour, journée....

 

mais sa sortirais pas le mot bonjour.

 

merci

Email : yal1030 AT hotmail DOT com


4 Réponses

1 . 2009-12-03 02:36:12

PSP a écrit:

Salut,

Voici ma solution. elle implique une petit modification au fichier tablefilter.js dans la section suivante.

function hasArg(sA,cell_data,j)
        {
            sA = '{' + sA;

 

c'est peut être pas la meilleur façon de faire, mais sa semble règlé mon problème.

Email :


2 . 2009-12-02 08:55:07

Max a écrit:

Non il n'y a pas de propriété de ce genre. Par contre, tu pourrais utiliser l'événement on_before_filter pour inserer le l'operateur en question juste avant que les lignes soient filtrées.

Email :


3 . 2009-12-01 03:50:33

PSP a écrit:

Merci pour la réponse rapide. l'opérateur } fonctionne bien. maintenant je me demandais si je pouvais ajouter un commande du genre

start_with_operator: '}'

dans les paramètres de mon tableau pour qu'en permanance il soit trié avec cette opérateur.

Email :


4 . 2009-11-30 13:04:33

Max a écrit:

Bonjour PSP,
l'operateur '{' (starts with) semble correspondre à ce que tu cherches. Il suffit de taper {jo dans un filtre et normalement tous les mots qui commencent par jo seront affichés. T'as un tableau des operateurs disponibles dans la home page: http://tablefilter.free.fr
A bientot,

Email :


Haut de page

50 . 2009-11-23 23:07:58

Webac a écrit:

Bonjour,

tout d'abord merci pour ce merveilleux script.

je souhaite savoir s'il est possible de combiner le filtrage, le redimensionnement et le tri de colonne car je ne parviens pas a implementer le tri sur mon tableau.

Merci de votre aide.

Email : cbenisti AT yahoo DOT fr


1 Réponse

1 . 2009-11-24 13:10:52

Max a écrit:

Bonjour Webac,
prenez exemple sur cette page de demo où vous avez le filtrage, le tri et le redimensionnement des colonnes:
http://tablefilter.free.fr/cols-resizer.htm

Email :


Haut de page
Premium support Premium support
E.n.j.o.y.  ads-free content!