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.
Version imprimable
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:tonDataGrid.selectedItem == null
Salut,
Sinon tu as :
Code: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:
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:
1
2tonDataGrid.selectedIndex == -1
Je viens d'essayer avec
Ca marche bien.Code:
1
2tonDataGrid.selectedItem == null
La preuve :
Ton problème doit venir d'ailleurs.Code:
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 :ccool:
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 ² :ccool:
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: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' :Citation:
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.Citation:
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...Citation:
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 :calim2:
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:selectedIndex == -1;
Citation:
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.Citation:
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.Citation:
The default value is null. (no selected item)
Enfin bon c'est juste histoire de passer un moment :mouarf:
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 :ccool:
J'suis carrément complètement d'accord avec vous. J'aurais pas dit mieux :mouarf: