Grid extjs et framwork zend
Fermé
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
-
10 nov. 2009 à 09:28
wdridi1 - 1 déc. 2010 à 12:59
wdridi1 - 1 déc. 2010 à 12:59
Bonjour,
Je travail actuelement sur la conception d'une partie de backoffice avec extjs et zend framwork, je doit sauvegarder la totaliter d'une grid dans une base de donner, mais je ne vois absolument pas comment faire.
Auriez vous une solution ??
Il me manque la partie envois et traitement des donner de la grid
Merci d'avance
Je travail actuelement sur la conception d'une partie de backoffice avec extjs et zend framwork, je doit sauvegarder la totaliter d'une grid dans une base de donner, mais je ne vois absolument pas comment faire.
Auriez vous une solution ??
Il me manque la partie envois et traitement des donner de la grid
Merci d'avance
A voir également:
- Grid extjs et framwork zend
- Zend studio - Télécharger - Divers Web & Internet
- Net framwork 2.0 - Télécharger - Divers Utilitaires
- Montage photo grid - Télécharger - Montage photo
- Photo Grid Collage -Android - Télécharger - Montage photo
- Logiciel photo grid - Télécharger - Montage photo
10 réponses
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
12 nov. 2009 à 09:36
12 nov. 2009 à 09:36
ca ne marche pas ^^'
firebug me dit que secondgridStore.getStore() n'est pas une fonction
voila ma page
firebug me dit que secondgridStore.getStore() n'est pas une fonction
voila ma page
function draganddrop() { //////////////////////////////////// //donner de base du panel droite//// //////////////////////////////////// var myData = { records : [ { name : "Rec 0", column1 : "0", column2 : "0" }, { name : "Rec 1", column1 : "1", column2 : "1" }, { name : "Rec 2", column1 : "2", column2 : "2" }, { name : "Rec 3", column1 : "3", column2 : "3" }, { name : "Rec 4", column1 : "4", column2 : "4" }, { name : "Rec 5", column1 : "5", column2 : "5" }, { name : "Rec 6", column1 : "6", column2 : "6" }, { name : "Rec 7", column1 : "7", column2 : "7" }, { name : "Rec 8", column1 : "8", column2 : "8" }, { name : "Rec 9", column1 : "9", column2 : "9" } ] }; // Generic fields array to use in both store defs. var fields = [ {name: 'name', mapping : 'name'}, {name: 'column1', mapping : 'column1'}, {name: 'column2', mapping : 'column2'} ]; // create the data store var firstGridStore = new Ext.data.JsonStore({ url: '/json/top/listage/type/1', //chemin vers le controller nous envoyant les valeur en Json timeout : 30000, //root: 'records', totalProperty: 'totalCount', //remoteSort: true, fields: [ {name: 'id', type: 'int', mapping : 'id'}, {name : 'name', mapping : 'name'}, {name : 'release_date', mapping : 'release_date'} ], /*fields : fields, data : myData,*/ root : 'records' }); var secondGridStore = new Ext.data.JsonStore({ url: '/json/top/listagerelatif/type/'+type+'/id/'+insertid, //chemin vers le controller nous envoyant les valeur en Json timeout : 30000, //root: 'records', totalProperty: 'totalCount', //remoteSort: true, fields: [ {name: 'id_r', type: 'int'}, 'name', 'id_element' ], /*fields : fields, data : myData,*/ root : 'records' }); // Column Model shortcut array var cols = [ { id : 'name', header: "id", width: 200, sortable: true, dataIndex: 'id'}, {header: "name", width: 200, sortable: true, dataIndex: 'name'}, {header: "Info sup", width: 200, sortable: true, dataIndex: 'release_date'} ]; var cols2 = [ { id : 'name', header: "id", width: 200, sortable: true, dataIndex: 'id_element'}, {header: "name", width: 200, sortable: true, dataIndex: 'name'}, {header: "Info sup", width: 190, sortable: true, dataIndex: 'id'}, {header: "Supp", width: 50, sortable: true, dataIndex: 'id_r', renderer : rendersupp} ]; // declare the source Grid var firstGrid = new Ext.grid.GridPanel({ height : 700, ddGroup : 'secondGridDDGroup', store : firstGridStore, columns : cols, enableDragDrop : true, stripeRows : true, autoExpandColumn : 'name', title : 'Element' }); //Paginbar var pagingBar = new Ext.PagingToolbar({ pageSize: resultsPerPage, store: firstGridStore, displayInfo: true, //info en bas a droite (page x : Y) displayMsg: 'Affichage des actualités {0} - {1} sur {2}', emptyMsg: "Aucun résultat", afterPageText: 'sur {0}' }); // create the destination Grid var secondGrid = new Ext.grid.GridPanel({ height : 700, ddGroup : 'firstGridDDGroup', store : secondGridStore, columns : cols2, bbar : pagingBar, enableDragDrop : true, stripeRows : true, autoExpandColumn : 'name', title : 'Grid relative' }); //Simple 'border layout' panel to house both grids var displayPanel = new Ext.Panel({ //width : 650, //height : 1000, layout : 'table', renderTo : 'panel', //defaults : { flex : 1 }, //auto stretch layoutConfig : { //align : 'stretch' columns: 3 }, items : [ firstGrid, secondGrid ], bbar : [ '->', // Fill { text : 'Reinitiaiser', handler : function() { //refresh source grid //firstGridStore.loadData(myData); firstGridStore.load({params:{start:0, limit:resultsPerPage}, waitMsg:'Chargement'}); //purge destination grid secondGridStore.removeAll(); secondGridStore.load({params:{start:0, limit:resultsPerPage}, waitMsg:'Chargement'}); } }, { text : ' - ' }, { text : 'Sauvegarder', handler : //updateDB function() { var storre = secondGridStore.getStore(); Ext.Ajax.request({ url : '/json/top/addrelationalbum', timeout : 30000, method : 'POST', params: { id_top : insertid, type : type, store : storre, id_element : id }, waitMsg: 'Veuillez patienter', success: function(response){ Ext.MessageBox.alert("L\'album a bien été ajouté."); }, failure: function(response){ Ext.MessageBox.alert('Erreur', "L'\album n'a pas été ajouté."); } }); } } ] }); // used to add records to the destination stores var blankRecord = Ext.data.Record.create(fields); /**** * Setup Drop Targets ***/ //deplacement de la grid droite vers la grid gauche var firstGridDropTargetEl = firstGrid.getView().scroller.dom; var firstGridDropTarget = new Ext.dd.DropTarget(firstGridDropTargetEl, { ddGroup : 'firstGridDDGroup', notifyDrop : function(ddSource, e, data){ var records = ddSource.dragData.selections; Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store); firstGrid.store.add(records); firstGrid.store.sort('name', 'ASC'); return true } }); //deplacement de la grid gauche vers la grid droite var secondGridDropTargetEl = secondGrid.getView().scroller.dom; var secondGridDropTarget = new Ext.dd.DropTarget(secondGridDropTargetEl, { ddGroup : 'secondGridDDGroup', notifyDrop : function(ddSource, e, data){ var records = ddSource.dragData.selections; Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store); secondGrid.store.add(records); //secondGrid.store.sort('name', 'ASC'); return true } }); var secondGridDropTargetE2 = secondGrid.getView().scroller.dom; var firstGridDropTarget = new Ext.dd.DropTarget(secondGridDropTargetE2, { ddGroup : 'firstGridDDGroup', notifyDrop : function(ddSource, e, data){ var records = ddSource.dragData.selections; Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store); firstGrid.store.add(records); //firstGrid.store.sort('name', 'ASC'); return true } }); firstGridStore.load({params:{start:0, limit:resultsPerPage}, waitMsg:'Chargement'}); secondGridStore.load({params:{start:0, limit:resultsPerPage}, waitMsg:'Chargement'}); } function rendersupp(value, p, record) { return '<img src="/images/backOffice/delete2_16.png" onclick="del(\'' + value + '\', \'' + record.data.title + '\')" class="pointer" />'; } function del(value, name) { Ext.MessageBox.confirm('Confirmation', 'Etes vous sur de vouloir supprimer l\'entrer "' + value + '" de la liste ?', function (btn, text) { if (btn == 'yes') { Ext.Ajax.request({ url : '/json/top/deletassosc', timeout : 30000, method : 'POST', params: {id: value, type : type, }, waitMsg: 'Veuillez patienter', success: function(response){ Ext.MessageBox.alert("Le top a bien été supprimé."); //secondGridStore.load({params:{start:0, limit:resultsPerPage}, waitMsg:'Chargement'}); }, failure: function(response){ Ext.MessageBox.alert('Erreur', "Le top n'a pas été supprimé."); } }); } } ); } function updateDB ( oGrid_event ){ /*secondGrid . submit ( {*/ Ext.Ajax.request({ waitMsg: 'Saving changes, please wait...', url : '/json/top/addrelationalbum/saveData&field/' + oGrid_event . field + '/&row/' + oGrid_event . row + '/&value/' + oGrid_event . value + '/' , //php function that saves the data success :function( form , action ) { alert ( 'Congrats! Your changes were saved!!!!' ); }, failure : function( form , action ) { alert ( 'Oops the delete did not work out too well!' ); } } ); }
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
12 nov. 2009 à 21:30
12 nov. 2009 à 21:30
Tan pis ^^
merci tout de meme pur ton aide
merci tout de meme pur ton aide
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
10 nov. 2009 à 14:14
10 nov. 2009 à 14:14
personne ne les utilisent ??
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
10 nov. 2009 à 17:06
10 nov. 2009 à 17:06
Vraiment sur ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mateo17
Messages postés
20
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 février 2010
2
11 nov. 2009 à 19:58
11 nov. 2009 à 19:58
j'utilise un peu extjs
le mieux c'est que tu récupère le store de ton grid
en faisant : nomdetongrid.getStore();
le mieux serai que ton store soit en json parce que le json est très facilement manipulable avec php
après tu fais une requete ajax et ton stocke ton json dans ta bdd dans un varchar
j'espère que je suis pas hors sujet..
le mieux c'est que tu récupère le store de ton grid
en faisant : nomdetongrid.getStore();
le mieux serai que ton store soit en json parce que le json est très facilement manipulable avec php
après tu fais une requete ajax et ton stocke ton json dans ta bdd dans un varchar
j'espère que je suis pas hors sujet..
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
12 nov. 2009 à 09:21
12 nov. 2009 à 09:21
nan nan je pense que tu es en plein dedans et tu me met sur une piste (est ce que je vais arriver a la suive ca s'est autre chose xd)
mais je n'y avais ^pas penser
le truk s'est que j'ai 2 grid
- la grid 1 avec les valeur generer de la bdd
- la grid 2 ou je fait glisser les element voulu de la grid 1
et un boutton sauvegarder destiner a envoyer le "store" de la grid 2 vers une page php le tout en Json
mais arriver sur le php il ne trouve plus le store que je passe en POST.
Peu etre le get store pourra resoudre ce probleme .
Merci
mais je n'y avais ^pas penser
le truk s'est que j'ai 2 grid
- la grid 1 avec les valeur generer de la bdd
- la grid 2 ou je fait glisser les element voulu de la grid 1
et un boutton sauvegarder destiner a envoyer le "store" de la grid 2 vers une page php le tout en Json
mais arriver sur le php il ne trouve plus le store que je passe en POST.
Peu etre le get store pourra resoudre ce probleme .
Merci
mateo17
Messages postés
20
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 février 2010
2
12 nov. 2009 à 12:12
12 nov. 2009 à 12:12
je t'ai peut être dis une bétise
c'est peut etre secondGrid.secondGridStore.getStore()
essaye ça je vais vérifier..
c'est peut etre secondGrid.secondGridStore.getStore()
essaye ça je vais vérifier..
Tsunami Chups
Messages postés
224
Date d'inscription
dimanche 25 janvier 2009
Statut
Membre
Dernière intervention
21 juillet 2010
12
12 nov. 2009 à 12:18
12 nov. 2009 à 12:18
je te remercie pour ta reponse
firebug me retourne ca
firebug me retourne ca
Permission denied to access property 'dom' from a non-chrome context
mateo17
Messages postés
20
Date d'inscription
mercredi 11 novembre 2009
Statut
Membre
Dernière intervention
8 février 2010
2
12 nov. 2009 à 18:09
12 nov. 2009 à 18:09
alors la, j'ai jamais rencontré ce problème !
désolé
désolé