Pb DataGrid

cs_phiphou Messages postés 9 Date d'inscription lundi 24 mars 2003 Statut Membre Dernière intervention 31 janvier 2007 - 21 janv. 2004 à 19:01
cs_cybervince Messages postés 5 Date d'inscription samedi 15 mars 2003 Statut Membre Dernière intervention 13 juillet 2004 - 13 juil. 2004 à 20:53
Bonjour à tous,

Bon j'utilise le composant datagrid pour afficher une liste de mails avec les champs De, Sujet, Date...

Voici le code :

--------------------------------------------------------------------------------------------------------------------------------------------

//je créé des tableau pour recevoir les données
serverData.itemID = new Array();
serverData.itemName = new Array();
serverData.itemSubject = new Array();
serverData.itemDate = new Array();
serverData.itemDesc = new Array();
initRecordSet();

stop();
//je splitte les données reçue selon des ||
_global.initRecordSet = function() {
_root.serverData.itemID = _root.serverData.col_itemID.split("||");
_root.serverData.itemName = _root.serverData.col_itemName.split("||");
_root.serverData.itemSubject = _root.serverData.col_itemSubject.split("||");
_root.serverData.itemDate = _root.serverData.col_itemDate.split("||");
_root.serverData.itemDesc = _root.serverData.col_itemDesc.split("||");

//je vire le dernier item des tableaux (un blanc en fait)
_root.serverData.itemID.pop();
_root.serverData.itemName.pop();
_root.serverData.itemSubject.pop();
_root.serverData.itemDate.pop();
_root.serverData.itemDesc.pop();

//je crée un Dataprovider et je mets tous les tableaux //dedans
myDP = new Array();
//tab = new Array("element0", "element1", "element2")
for (var i = 0; i<_root.serverData.itemName.length; i++) {
nom = _root.serverData.itemName[i];
sujet = _root.serverData.itemSubject[i];
date = _root.serverData.itemDate[i];
myDP.addItem({De:""+nom+"", Subject:""+sujet+"", Reçu:""+date+""});
}

myDataGrid.dataProvider = myDP;

//J'autorise le sort sur les colones du Datagrid
myDataGrid.sortableColumns = true;
myDataGrid.getColumnAt().sortOnHeaderRelease = true;

//je créé un Listener pour "ecouter le datagrid"
//il me renvoie l'ID de l'item séléctionné
var myListener = new Object();
myListener.change = function(event) {
comment.text = _root.serverData.itemDesc[event.target.selectedIndex];

}

myDataGrid.addEventListener("change", myListener);
};

--------------------------------------------------------------------------------------------------------------------------------------------

Mon pb, c'est que l'ID de l'item séléctionné correspond a l'ID de la ligne cliquée, mais pas a l'ID de l'item dans mon Dataprovider (qui n'est autre qu'un array à plusieurs dimensions)..Résultat, si je sort une colone, avec 10 items dedans par exemple (1,2,3,...,10), si je clique alors sur la premiere ligne, il me renvoi tjrs 1 et non pas 10 (le nouveau premier élément) !!

Je sais pas si je suis très clair,.....

Enfin, si quelqu'un connait bien le composant DataGrid,vu que sur le Net y a pas grand chose à ce qujet...

Merci d'avance...Je suis prêt à aider quiconque m'aidera, un juste retour des choses en somme (je me débrouille kan même pas mal sous Flash, malgré ma question)

2 réponses

cs_cybervince Messages postés 5 Date d'inscription samedi 15 mars 2003 Statut Membre Dernière intervention 13 juillet 2004
13 juil. 2004 à 20:47
Salut phiphou, je débute moi aussi sur le composant datagrid, et je rame pour intégrer un 'Dataprovider' depuis une requête mysql...
Pour ton souçis, je ne peux pas t'aider directement mais, dans la source suivante :
http://www.flashkod.com/code.aspx?ID=23200
Il y a peut être certains éléments de réponse..

:::Cybervince:::Nwardesir.free.fr
0
cs_cybervince Messages postés 5 Date d'inscription samedi 15 mars 2003 Statut Membre Dernière intervention 13 juillet 2004
13 juil. 2004 à 20:53
//Dans ta fonction

myListener.change = function(event) {

//essaye
comment.text =_root.serverData.selectedItem['itemID'];


}

:::Cybervince:::Nwardesir.free.fr
0
Rejoignez-nous