Bonjour,
Je voudrais savoir si avec le module datatables, c'est possible d'ajouter une colonne pour renvoyer vers la page de modification ou de suppression de la donnée.
Merci d'avance
Bonjour,
Je voudrais savoir si avec le module datatables, c'est possible d'ajouter une colonne pour renvoyer vers la page de modification ou de suppression de la donnée.
Merci d'avance
Oui bien sur,
Je vous poste un exemple dans la matinée![]()
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Dans l'exemple qui suit, j'ai
- ajouté une colonne "action"
- ajouter dans le tableau des datas un lien HTML
Dans le module qui créé instancie le module datatables:
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 public function _list(){ //instancier le module $oTable=new module_datatables; $oTable->setPaginationLimit(4); //l'id de la div html $oTable->setId('monId'); //on definit la hauteur du tableau (en pixels) $oTable->setHeight(120); $oTable->setWidth(600); //la page permettant de retourner le contenu au format json $oTable->setJsonLink('default::listJson'); //on defini (si besoin) un menu deroulant permettant de modifier la pagination $oTable->setListLimit(array(10,20)); //definir le sens par defaut de tri (asc/desc) $oTable->setDefaultSort('desc'); //defintion du tri par defaut $oTable->setDefaultSortField('pkey'); $oTable->addColumn('Nom','nom'); $oTable->addColumn('Prenom','prenom'); //AJOUT D UNE COLONNE ACTION (qui contiendra le lien Edit) $oTable->addColumn('Action','action'); $oView= $oTable->build(); $this->oLayout->add('main',$oView); }
Et dans la méthode retournant le json lu par datables, on ajoute le lien html vers un module CRUD que j'ai créé via le builder
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 public function _listJson(){ $oJson=module_datatables::getJson(); //on precise la liste des champs autorise a etre trie $oJson->setSortFieldAllowed(array('pkey','nom','prenom')); //attention a bien mettre les colonnes avant de definir le total et les data $oJson->addColumn('nom'); $oJson->addColumn('prenom'); //AJOUT COLONNE ACTION POUR AFFICHER LE LIEN EDIT $oJson->addColumn('action'); if($oJson->hasFilter()){ $count = model_auteur::getInstance()->findTotalFiltered($oJson->getListFilter()); $oJson->setTotal($count); $tData=model_auteur::getInstance()->findListFilteredAndLimitOrderBy($oJson->getListFilter(),$oJson->getStart(),$oJson->getLimit(),$oJson->getSortField(),$oJson->getSortSide()); }else{ $count = model_auteur::getInstance()->findTotal(); $oJson->setTotal($count); $tData=model_auteur::getInstance()->findListLimitOrderBy($oJson->getStart(),$oJson->getLimit(),$oJson->getSortField(),$oJson->getSortSide()); } //ON BOUCLE SUR LE TABLEAU tData POUR AJOUTER CE CHAMP ACTION foreach($tData as $oData){ //AJOUT DANS CE CHAMP ACTION D UN LIEN HTML VERS UNE PAGE D EDITION DE LA LIGNE $oData->action='<a href="'._root::getLink('auteur::edit',array('id'=>$oData->pkey)).'">Edit</a>'; } $oJson->setData($tData); $oJson->show(); }
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager