Salut tout le monde,
Comment on peut tester qu'aucune ligne n'est selectionnée dans un dataGrid?
Merci d'avance pour vos réponses.
Cordialement.
Salut tout le monde,
Comment on peut tester qu'aucune ligne n'est selectionnée dans un dataGrid?
Merci d'avance pour vos réponses.
Cordialement.
J'ai pas essayé mais j'imagine qu'un test comme ça :
doit te dire qu'aucun élément n'est sélectionné dans ton DataGrid.
Code : Sélectionner tout - Visualiser dans une fenêtre à part tonDataGrid.selectedItem == null
Salut,
Sinon tu as :
Code : Sélectionner tout - Visualiser dans une fenêtre à part tonDataGrid.selectedIndex == -1
Merci pour vos réponses.
La solution semble facile et intuitive, j'ai même dèjà essayé "dataGrid.selectedIndex == -1" mais pourtant je reçois le message d'erreur suivant pour les deux solutions proposées:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Index '-1' specified is out of bounds
C'est reglé, il y'avait un petit problème de logique au niveau de mon code mais maintenant ça marche très bien avec:
Merci pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2tonDataGrid.selectedIndex == -1
Je viens d'essayer avec
Ca marche bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2tonDataGrid.selectedItem == null
La preuve :
Ton problème doit venir d'ailleurs.
Code : 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 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:calendar="fr.sib.sillage.components.calendar.*" backgroundColor="0xFFFFFF" creationComplete="init()" xmlns:local="*"> <mx:Script> <![CDATA[ import mx.controls.Alert; public function toto():void{ Alert.show(new String(dataGridTemp.selectedItem == null)); } ]]> </mx:Script> <mx:Array id="listeObjets"> <mx:Object data="1" label="toto"/> <mx:Object data="2" label="tutu"/> </mx:Array> <mx:DataGrid dataProvider="{listeObjets}" id="dataGridTemp"/> <mx:Button click="toto();"/> </mx:Application>
Charles.
Edith : Ok le problème venait bien d'ailleurs
Pourtant ça devrait fonctionner :
http://livedocs.adobe.com/flex/3/lan...#selectedIndex
Le problème doit venir d'autre part
[EDIT] Ok le problème venait d'ailleurs ²
Oui j'avais un problème de logique au niveau de mon code, j'ai essayé aussi les deux solutions et ça marche bien.
Merci encore pour vos réponses ^^
Par contre, sans vouloir dire de bêtise il me semble que la solution :
est plus secure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part datagrid.selectedIndex == -1
Je met ce commentaire entre gros guillemets, car le sujet peux porter à discussion, mais disons que dans un cas tu démontre qu'une propriété n'est pas vrai, et dans l'autre cas tu démontres qu'elle est fausse.
Bon, c'est un peu tiré par les cheveux, mais au moins en montrant qu'elle est fausse, tu pares à toute éventualité.
D'ailleurs dans la doc , pour 'selectedIndex', on a :
et pour 'selectedItem' :The default value is -1 (no selected item).
ça n'induit pas forcément qu'il n'y a pas d'Item sélectionné. Il faut quand même avouer que ca y ressemble, mais ce n'est qu'implicite.The default value is null.
Donc par sécurité, j'utiliserais quand même 'selectedIndex', au moins tu seras sûr du résultat.
Allons y...car le sujet peux porter à discussion
Je comprends pas du tout ce doute ! Il n'a aucune raison d'être, sinon cela traduirait un code aléatoire
Les deux propriétés selectedIndex et selectedItem marchent ensemble.
Attention, comme je l'ai dit j'ai mis des 'gros guillemets' autour de ce post.
Ici il s'agit de pur sémantique, on est d'accords que les expressions sont identiques, mais pour moi c'est plus logique d'utiliser
Et enfin je le répète :
Code : Sélectionner tout - Visualiser dans une fenêtre à part selectedIndex == -1;
c'est un peu tiré par les cheveux
oui enfin tu écris bien :
c'est donc pas juste une question de logique mais parce que tu penses qu'il peut exister des cas où selectedIndex est différent de -1 ET selectedItem est nul.Donc par sécurité, j'utiliserais quand même 'selectedIndex', au moins tu seras sûr du résultat.
Si dans la doc il n'est pas précisé pour la propriété selectedItem :
C'est simplement pour éviter le pléonasme. Si la propriété selectedItem est nulle cela implique en toute logique qu'il n'y a pas d'item sélectionné, c'est inutile de le préciser.The default value is null. (no selected item)
Enfin bon c'est juste histoire de passer un moment
Nous sommes d'accords que le cas ne peut pas arriver. Mais je t'avoue que ça m'est arrivé de m'arracher les cheveux sur des bugs du framework quelquefois. Aussi dorénavant, je me pose moins de questions et je préfère aborder les choses dans le sens "prouver que c'est faux", plutôt que "prouver que ce n'est pas vrai". Ne serait-ce que dans la démarche, je trouve ça plus clair quand tu repasses sur ton code derrière.
Mais nous sommes entièrement d'accords, les 2 lignes sont semblables.
ok pour ça
Tout à fait
J'suis carrément complètement d'accord avec vous. J'aurais pas dit mieux
Partager