Ca ne marche pas ^^'
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!' );
}
}
);
}