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

MkFramework Discussion :

Modification fonctions guriddo


Sujet :

MkFramework

  1. #1
    Invité
    Invité(e)
    Par défaut Modification fonctions guriddo
    Bonsoir,

    j'avance doucement dans le développement de mon application.
    Après avoir bataillé pour afficher une table guriddo à mes attentes (thèmes, cellules en lecture seule), je bataille maintenant sur 2 points mais je ne sais pas si cela est applicable.

    je serai intéressé par deux fonctions :

    1 - L'insertion de checkbox ou select dans une colonne,
    2 - L'affichage des données façon tree (http://www.guriddo.net/demo/treegridjs/)

    Pour le premier point j'ai essayé d'appliquer le tuto en passant option editype en array [$oTable->addColumn('Type','type',array('edittype'=>select)] mais je rencontre l'erreur suivante
    --> Use of undefined constant select

    Avez-vous une idée ?
    Dernière modification par Invité ; 15/03/2016 à 15h13.

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par trankil84 Voir le message
    Pour le premier point j'ai essayé d'appliqué le tuto en passant option editype en array [$oTable->addColumn('Type','type',array('edittype'=>select)] mais je rencontre l'erreur suivante
    --> Use of undefined constant select

    Avez-vous une idée ?
    Il faut remplacer

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $oTable->addColumn('Type','type',array('edittype'=>select)

    par

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $oTable->addColumn('Type','type',array('edittype'=>'select')
    (ne pas oublier les quotes
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Invité
    Invité(e)
    Par défaut
    pfff, je ne suis vraiment pas doué en code.

    effectivement avec les quotes bien placés, cela fonctionne nickel. Merci pour le coup d’œil.

    Pour le groupement, est-ce applicable avec mkframework ?

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour le groupement, est-ce applicable avec mkframework ?
    Pour information/rappel, le module Guriddo est "juste" un module "embedded", qui via ses methodes permet de le parametrer facilement et "construit" dans le vue l'appel Guriddo

    Dans l'idée vous avez un module à votre disposition qui permet de simplifier l'utilisatoin de Gurddo, mais ce n'est pas un produit forcément final, il ne faut pas hesiter à l'améliorer pour répondre à votre besoin

    Dans l'idée du mkf: DRY: don't Repeat yourself: en gros capitaliser: on prend du temps à un moment pour faire un module aux petits oignons, comme cela sur un autre projet on recupere sont module et on apprécie d'y avoir investi un peu de temps
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Invité
    Invité(e)
    Par défaut
    La-dessus aucun problème, je comprend et il n'y a pas de soucis à ce que je mette les mains dans le moteur.
    Mais pour être plus clair, je ne vois pas comment le faire.

    Je pense bien qu'il faut rajouter la fonction manquante dans le fichier main.php du module griddo mais ce que je n'arrive à saisir c'est comment faire le rapprochement avec les fonctions jqgrid.
    Pour exemple quand je regarde le mécanisme pour le regroupement des entêtes...bah je ne vois rien. mais ca c'est surement lié à mon faible niveau en dev.

    Pour comprendre, si je fais le chemin inverse :
    Le regroupement des entêtes ce fait par $oTable->addGroupColumn('Mon groupe',2,'champDeDepart'); dans mon fichier de mon module de test 'Parc'
    Dans le fichier main.php du module griddo j'arrive à retrouver la fonction associée : public function addGroupColum, mais après plus rien.

    Si tu as un peu de temps entre deux tasses de café ou deux verres de coca et si tu le veux bien, est-ce que tu peux me faire un exemple tout bete pour rajouter une fonction dans griddo ?

    Merci pour ton temps.

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Le module Guriddo est "juste" un module embarquée, dans le main.php on propose des methodes permettant de configurer des tableaux php qui permettront ensuite de constituer l'appel Guriddo

    Guriddo, ou anciennement JqGrid est une application javascript utilisant massivement jQuery, pour invoquer ce tableau enrichi, on appel en javascript l'objet Guriddo et l'on vient paramétrer/modifier l'objet obtenu

    Dans notre module, d'une part avec les méthodes on paramètres des tableaux php, puis au moment de la construction (méthode build) on vient appeler la vue du module en lui communiquant les paramètres pour contextualiser l'écriture de l'appel du tableau Guriddo

    Donc dans le main.php, on a
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public function addGroupColumn($sLabel,$iColspan,$sStartColumn,$tOption=null){
    		if($tOption==null){
    			$tOption=array();
    		}
    		$tOption['titleText']=$sLabel;
    		$tOption['numberOfColumns']=$iColspan;
    		$tOption['startColumnName']=$sStartColumn;
     
    		$this->tGroupHeader[]=$tOption;
    	}
    Ou l'on rempli des paramètres du module

    et l'on voit bien dans la méthode de construction de la vue: que l'on passe toutes ces variables à notre vue
    Code php : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    public function build(){
     
    		$oView=new _view('guriddo::build');
    		$oView->iLimit=$this->iLimit;
    		$oView->sJsonLink=$this->sJsonLink;
    		$oView->tHeader=$this->tHeader;
    		$oView->tGroupHeader=$this->tGroupHeader;
    		$oView->tRowList=$this->tRowList;
    		$oView->bAltRows=$this->bAltRows;	
    		$oView->bSortable=$this->bSortable;
     
    		$oView->sDefaultSide=$this->sDefaultSide;
     
    		$oView->iHeight=$this->iHeight;
    		$oView->iWidth=$this->iWidth;
     
    		$oView->bEnableLoading=$this->bEnableLoading;
     
    		$oView->tFormatter=$this->tFormatter;
     
    		$oView->idTable=$this->idTable;
     
    		$oView->sUrlEdit=$this->sUrlEdit;
    		$oView->bShowEnable=$this->bShowEnable;
    		$oView->bEditEnable=$this->bEditEnable;
    		$oView->bAddEnable=$this->bAddEnable;
    		$oView->bDeleteEnable=$this->bDeleteEnable;
     
    		$oView->sPopupEdit=$this->sPopupEdit;
    		$oView->sPopupAdd=$this->sPopupAdd;
     
    		$oView->bGridView=$this->bGridView;
    		$oView->sExpandColumn = $this->sExpandColumn;
    		$oView->sLevelField = $this->sLevelField;
    		$oView->sParentIdField = $this->sParentIdField;
    		$oView->sLeafField = $this->sLeafField;
    		$oView->sExpandedField = $this->sExpandedField;
     
    		if($this->defaultSortField){
    			$oView->defaultSortField=$this->defaultSortField;
    		}else{
    			$oView->defaultSortField=$this->tHeader[0]['order'];
    		}
     
    		return $oView;
    	}

    Et dans cette vue, on prend en comptes ces paramètres, par exemple
    Code php : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
    <table id='<?php echo $this->idTable?>'></table>
    		  <div id='pager<?php echo $this->idTable?>'></div>
    		  <script type='text/javascript'>
    			  jQuery(document).ready(function($) {jQuery('#<?php echo $this->idTable?>').jqGrid(
    			{
    				<?php if($this->sUrlEdit):?>
    				"editurl": '<?php echo $this->sUrlEdit?>',
                    "mtype": "POST",
                    <?php endif;?>
     
    				"hoverrows":false,
    				"viewrecords":true,
    				"jsonReader":{
    						  "repeatitems":false,
    						  "subgrid":{
    							  "repeatitems":false
    						  }
    				},
    				"xmlReader":{
    					"repeatitems":false,
    					"subgrid":{
    						"repeatitems":false
    					}
    				},
    				<?php if($this->bGridView): ?>
    				"treeGrid": true,
    				"ExpandColumn": "<?php echo $this->sExpandColumn ?>",
    				"treeGridModel": "adjacency",
    				"treeReader": {
    					"level_field": "<?php echo $this->sLevelField ?>",
    					"parent_id_field": "<?php echo $this->sParentIdField ?>",
    					"leaf_field": "<?php echo $this->sLeafField ?>",
    					"expanded_field": "<?php echo $this->sExpandedField ?>"
    				},
    				<?php endif; ?>
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Invité
    Invité(e)
    Par défaut
    Got it !

    c'est le fichier build.php du module guriddo qui me manquait !

    J'ai réussi à faire la modification souhaitée.

    Merci pour le gros coup de main !!

  8. #8
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    De rien, c'est toujours un plaisir

    Mais c'est un truc à garder en tete: capitaliser, essayer à chaque modif de vous demander si vous ne pouvez pas ajouter une méthode, une propriété pour enrichir le plugin/module en vue de l'utiliser plus tard sur une autre application
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

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

Discussions similaires

  1. Modification Fonction D3
    Par thuglife dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/06/2015, 12h25
  2. Modification fonction suite rachat société
    Par Purple Haze dans le forum Droit du travail
    Réponses: 3
    Dernier message: 07/10/2011, 17h34
  3. Modification fonction package
    Par safisafi dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2008, 15h16
  4. [Fuzzy Logic Toolbox] Modification fonction
    Par LePoulot dans le forum MATLAB
    Réponses: 5
    Dernier message: 19/07/2007, 11h58

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