2009-07-11 13 views
0

J'ai les valeurs suivantes. :Fourniture de valeurs aux composants d'un DataGrid

 
mx:DataGridColumn width="125" headerText="Time" editable="false" 
mx:itemRenderer 
mx:Component 
      mx:HBox 
        mx:NumericStepper id ="TimeHour" stepSize="1" minimum="0" value="0" maximum="23"/ 
        mx:NumericStepper id ="TimeMinute" stepSize="5" minimum="0" value="0" maximum="55"/ 
      /mx:HBox 
        /mx:Component 
    /mx:itemRenderer 
/mx:DataGridColumn 

Comment puis-je fournir des valeurs de la dataprovider (qui est un tableau d'objets) à ces steppers numériques individuels. dataField ne peut pas être mentionné dans la balise NumericStepper.

Aide.

P.N: IGNORE Balise de début et End tgs du mxml. La question n'est pas affichée correctement.

Répondre

1

Si je ne suis pas misstaken vous pouvez accéder aux données comme ceci: < mx: valeur NumericStepper = "{data.yourValue}" />

+0

Ok ... Une chose, wat est "yourObject" ici. Est-ce directement le nom du paramètre de mon nom de fournisseur de données. Si je donne directement le nom du paramètre, il est impossible de lier les paramètres, malgré la déclaration de liaison. – user120118

+0

Il devrait lire yourValue, j'ai édité mon commentaire original. data est l'objet courant dans votre tableau de sorte que yourValue est une propriété de cet objet. –

+0

J'ai essayé ce qui précède. Il dit avertissement: impossible de lier à la propriété 'TimeHour' sur la classe 'utils :: TimeDO' – user120118

0

Les avertissements à caractère contraignant jamais être ignoré. Ils vous disent que la propriété que vous essayez d'utiliser lors de l'exécution est réellement lisible et que sa valeur sera et non être propagée, c'est-à-dire que vous ne verrez pas les modifications apportées aux données dans la vue. Puisque les instances d'itemRenderers sont recyclées, et donc que leurs propriétés de données sont modifiées à plusieurs reprises lorsque l'utilisateur fait défiler la liste, la grille, etc., vous n'obtiendrez pas ce que vous voulez.

Il y a quelques choses que vous devez faire ici. Tout d'abord, assurez-vous que les objets de votre ArrayCollection que vous alimentez sur la grille sont eux-mêmes [Bindable] ou qu'au moins les propriétés que vous voulez afficher sont [Bindable]. Deuxièmement, je suppose que vous voulez que les instances pas à pas modifient également les valeurs. Vous devriez lire la section de documentation intitulée «Création d'un moteur de rendu d'élément et d'un éditeur d'élément» pour un exemple de ce que vous essayez de faire.