Bonjour,
Je ne sait pas si je suis dans la bonne rubrique, donc pas de coup de fouet s'il vous plait.
Je travail sur une application codé avec ExtJs 3.4.
Je dispose d'un grid panel que je recharge après la selection d'un élément dans une combobox. Pour précisé ma combobox contient les groupes d'utilisateurs, et lorsque je selectionne un groupe, mon grid panel se remplit avec les utilisateur du groupe choisit.
Le problème est que, lorsque je fait cela, je ne peut plus selectionner de ligne dans mon grid panel.
Je ne comprend pas pourquoi. Voici les extraits concerner.
Mon store
var storeUtil = new Ext.data.JsonStore({
proxy: proxyGrUtil,
baseParams: { method: 'storeUtil' },
autoLoad: true,
fields: ["IdUser", "Nom", "Prenom", "LDAPUser"],
root: "rows",
totalProperty: "total",
successProperty: "success"
});
Mon grid panel :
new Ext.grid.GridPanel({
title: "Utilisateurs",
layout: 'fit',
style: marginElement,
columns: mesColonnesUtil,
id: 'gridPanelUtil',
width: '70%',
colspan:2,
collapsible: false,
layout: 'fit',
autoWidth: true,
monitorResize: true,
height: 200,
store: storeUtil,
stripeRows: true,
sm: new Ext.grid.RowSelectionModel({
singleSelect: true,
listeners: {
rowselect: function () {
Ext.getCmp('btnSupUtilDunGr').setDisabled(false);
}
}
})
Ma combobox avec mon évènement qui recharge mon grid :
xtype: 'combo',
store: storeGrUtil,
id: 'comboGrUtil_GrUtil',
width: 300,
valueField: "id",
displayField: "lib",
triggerAction: 'all',
mode: 'local',
listeners: {
select: function () {
Ext.getCmp('gridPanelUtil').store.load({ // ICI le rechargement de mon grid, avec passage de paramettres
params: {
gr: this.getValue()
}
});
remplirListeUtilInGr();
Ext.getCmp('btnAjouterUtilInGr').setDisabled(false);
Ext.getCmp('btnChercherAnnulaire').setDisabled(false);
Ext.getCmp('comboLDAP').setDisabled(false);
Ext.getCmp('nomChercherDansAnnulaire').setDisabled(false);
}
}
Sachant que quand je met mon paramètre directement dans mon store, ça marche, mais malheureusement ce n'est pas ce que je doit faire.
Quelqu'un pourrait m'aider, je suis bloquée depuis plusieurs semaine et je n'ai trouvé de solution nulle part :'(
Bonjour,
J'imagine qu'il y a une notion d'appel ajax derrière tout ça ?
Dans ce cas, je ne maitrîse pas extJs mais si les listeners sont bindés sur les lignes du tableau à l'init et que réactualiser le tableau ne redéclenche pas le parcours du dom et donc la mise en place des listeners, cela pourrait expliquer ce problème.
Coucou,
Merci de ta réponse (depuis tout ce temps lol).
J'ai trouvé la solution aujourd'hui même, c'est totalement débile, et je ne comprend pas pourquoi mais bon ça marche.
Je ne l'avais pas mis ici mais mesColonnesUtil est une variable qui génère mes colonne de mon grid panel.
Pour adapter la taille de mes colonnes à mon tableau j'avais mis cette taille en pourcentage.
Or, c'étais ça qui faisait beuguer mon truc, donc je les ai mis en pixel :
http://www.hostingpics.net/viewer.php?id=663006ScreenShot031115at1201PM.png
Voila c'est tout... WTF ?!