Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2012, 11h10   #1
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
Par défaut Checkbox dans une Datagrid, ne pas sélectionner la ligne

Bonjour,

J'ai une s:Datagrid avec plusieurs colonnes. La première colonne doit être une checkbox qui me permet de sélectionner plusieurs lignes de la datagrid si besoin.

J'ai donc crée un GridItemRenderer avec une checkbox.

Le problème est que quand je clique sur une checkbox de ma grille, le premier clic me sélectionne la ligne de la grille, alors que moi, je voudrais juste que la checkbox change d'état. Quelqu'un aurait-il déjà eu ce problème et aurait-il trouvé une solution ?

Merci.
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 00h14   #2
Modérateur
 
Homme
Consultant Flex / Java
Inscription : novembre 2008
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Luxembourg

Informations professionnelles :
Activité : Consultant Flex / Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2008
Messages : 452
Points : 639
Points : 639
Salut,
essaye peut être de jouer sur le rendu graphique de la ligne, sur l'event itemClick par exemple, ou tout simplement dans une classe d'un fichier css.
__________________
N'oubliez pas avant de poster :
et bien sûr la doc Flex
Krazymins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 10h47   #3
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
merci,

aurais tu un exemple ou un truc un peu plus détaillé ?
Avec le Flex 3 ce que je faisais et qui fonctionnait bien c'était dans l'itemrenderer, intercepté le change et sur l'event faire un .stopPropagation();

ça fonctionnait .. ça fonctione plus avec spark et la s:dataGrid ...
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2012, 16h59   #4
Modérateur
 
Homme
Consultant Flex / Java
Inscription : novembre 2008
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : Luxembourg

Informations professionnelles :
Activité : Consultant Flex / Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2008
Messages : 452
Points : 639
Points : 639
Salut,

Finalement jouer sur le rendu graphique n'est peut être pas une bonne idée (ton item est quand même sélectionné, bien que la ligne ne soit pas colorée)

et si tu faisais plutôt dans le renderer quelquechose du style :
Code :
1
2
 
(owner as Datagrid).selectedItem = null;
__________________
N'oubliez pas avant de poster :
et bien sûr la doc Flex
Krazymins est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 11h44   #5
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
non, ça ne fonctionne pas.
Le problème est que le premier click selectionne la ligne de la DataGrid.

Si je veux sélectionné le checkbox, je dois d'abord sélectionné la ligne et puis cliquer sur le checkbox.
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 09h20   #6
Membre habitué
 
Homme Nicolas
Développeur informatique
Inscription : juillet 2007
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : Luxembourg

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juillet 2007
Messages : 229
Points : 137
Points : 137
Bonjour,

je n'ai pas fait le test, mais peut-être peux-tu "disabler" la sélection de la dataGrid
Je ne sais pas si l'itemRenderer sera encore accessible.

Sinon tu peux aussi jouer sur la couleur de sélection de la ligne pour rendre la sélection "invisible".

++
npirard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 10h24   #7
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
je ne veux pas 'disabler' la sélection de ma datagrid. Je veux pouvoir sélectionner une ligne, sauf si on click dans la colonne de la checkbox, ou le but est justement de pouvoir sélectionner plusieurs ligne à la fois.
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 11h18   #8
Membre habitué
 
Homme Nicolas
Développeur informatique
Inscription : juillet 2007
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : Luxembourg

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juillet 2007
Messages : 229
Points : 137
Points : 137
Re bonjour,

Peut-être que tu pourrais utiliser la propiété "AllowMultipleSelection" dans la datagrid et ta passer de la checkBox, ou de la cocher automatiquement.

Sinon voici le code que j'ai pour une datagrid, avec un itemRenderer et une checkBox qui fait ce que tu veux faire. (J'ai n'ai besoin que d'un clique pour sélectionner ou désélectionner la checkbox)

DataGrid
Code :
1
2
3
4
5
6
7
8
9
 
<mx:DataGrid dataProvider="{myModel.myArray}" width="100%" height="480">
				<mx:columns>
					<mx:DataGridColumn dataField="num" headerText="Numéro "/>
					<mx:DataGridColumn dataField="lbl" headerText="Intitulé "/>
					<mx:DataGridColumn width="100" dataField="swTreat" headerText="Statut" itemRenderer="CheckOpeRenderers"/>
 
				</mx:columns>
			</mx:DataGrid>
CheckOpeRenderers:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<fx:Script>
		<![CDATA[
			;
			[Bindable]
			private var myModel : AppModelLocator = AppModelLocator.getInstance();
 
			protected function check(event:MouseEvent):void
			{
				if (data.swTreat==0)
					data.swTreat=1;
				else
					data.swTreat=0;
				myModel.myArray.itemUpdated(data);
			}
		]]>
	</fx:Script>
 
 
	<s:HGroup horizontalAlign="center">
		<s:CheckBox click="check(event)" id="checkSoldeId" selected="{data.swTreat==1 ? true : false}" enabled="{data.swTreatDb!=1 ? true : false}" />
	</s:HGroup>
J'espère que c'est cela que tu voulais
npirard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 11h25   #9
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
Merci,

Mais je n'ai aucun souci avec les datagrid mx:DataGrid.
Mon problème vient de la datagrid spark <s:DataGrid.

Si je n'ai pas le choix, je repasserai sur la mx:DataGrid.
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h48.


 
 
 
 
Partenaires

Hébergement Web