IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Datagrid, formatter & css [Dojo]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 19
    Points
    19
    Par défaut Datagrid, formatter & css
    Bonjour,

    au sein d'un dojox.grid.DataGrid, je specifie un formatter particulier pour une colonne de cette grid.

    la fonction JS appelee lors du formattage me renvoi une balise <button></button>.

    cette fonction est bien appelee et le bouton est bien present dans chaque cellule de la colonne. Le seul probleme, c'est que le css n'est pas applique sur ce bouton (couleur de fond, icone, ...).

    Cela doit etre du au fait qu'ils sont generes a la volee suite au remplissage de mon dataGrid par des donnees recu lors d'une requete ajax. Comment est-il possible de forcer dojo a appliquer les CSS ?

    Ci dessous le code :

    Layout du dataGrid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        <table id='Ticket_creer_assign_grid' dojoType='dojox.grid.DataGrid' autoWidth='true' autoHeight='true' style='width: 100%;'>
        	<thead>
        		<tr>
        			<th field='users_login' width='100px'>Login</th>
        			<th field='users_login' width='100px' formatter=format_Ticket_creer_assign_grid>Actions</th>
        		</tr>
        	</thead>
        </table>
    Fonction JS appelee :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function format_Ticket_creer_assign_grid(login) {
     
    		return "<button dojoType='dijit.form.Button' type='button' iconClass='removeIcon' onclick='javascript:remove_Ticket_creer_assignment(\""+login+"\")'>Remove</button>";
     
    	}
    Chargement des donnees :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    dojo.xhrGet(
    {
        url: '/Intra/Unstable/public/Ticket/assign/id/'+id,
        handleAs: 'json',
        load: function(param) {
     
            var assignGrid = dijit.byId('Ticket_index_assign_grid');
            var store = new dojo.data.ItemFileWriteStore(
    		{
    			data:
    			{
    				identifier: 'users_login',
    				label: 'users_login',
    				items: param
    			}
    		});
    	assignGrid.setStore(store);
    });

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Points : 535
    Points
    535
    Par défaut
    Il y a un objet "parser" dans dojo.
    Je pense qu'en parasant le datagrid le bouton apparaitra formaté. Par contre je n'ai jamais essayé de parser un datagrid alors c'est une simple hypothèse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dojo.require("dojo.parser");
    ...
    dojo.parser.parse("iddudatagrid");

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Merci pour "l'hypothese"

    Mais ca ne semble pas fonctionner

  4. #4
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    J'ai trouve une solution, que je prefere amplement a la methode initiale.

    Plutot que de retourner un code html, je retourne un widget dojo. A ce moment, le parsing fonctionne correctement (sans besoin d'appeler explicitement dojo.parser.parse() ).

    Le code de la fonction ressemble donc a ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function format_Ticket_creer_assign_grid(login) {
    	var button = new dijit.form.Button(
    		{
    			label: 'Enlever',
    			iconClass: 'removeIcon'
    		}
    	);
    	return button;
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dojo] dojox.grid.DataGrid formatte les mauvaises colonnes
    Par rtropper dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 20/09/2011, 11h26
  2. Css et DataGrid
    Par romain_ci dans le forum Flex
    Réponses: 4
    Dernier message: 11/07/2008, 16h23
  3. DataGrid et height et row et css
    Par Gaaaga dans le forum Flex
    Réponses: 5
    Dernier message: 17/03/2008, 12h00
  4. Réponses: 7
    Dernier message: 27/07/2007, 12h34
  5. datagrid et css
    Par charliejo dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/03/2007, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo