2010-08-09 5 views
0

J'utilise un itemEditor personnalisé pour mon DataGrid. L'itemEditor a un TextField simple en tant que composant. Mais quand jamais je clique sur la cellule je reçois une erreur comme: ReferenceError: Erreur # 1069: Propriété texte pas trouvé sur editors.customItemEditor et il n'y a pas de valeur par défaut. à mx.controls :: DataGrid/itemEditorItemEditEndHandler() [C: \ autobuild \ 3.2.0 \ cadres \ projects \ framework \ src \ mx \ \ contrôles DataGrid.as: 4827]Propriété Gettinf ** text ** erreur introuvable dans DataGrid

plz me aider à résoudre ce problème.

Mon avis est que l'erreur vient pour le champ "texte". Mais je n'ai pas accédé au champ "texte" ou je l'ai utilisé n'importe où dans mon code.

Cordialement, Ravi

Répondre

0

Tiré de http://livedocs.adobe.com/flex/3/html/help.html?content=celleditor_8.html

By default, Flex expects an item editor to return a single value to the list-based control. You use the editorDataField property of the list-based control to specify the property of the item editor that contains the new data. Flex converts the value to the appropriate data type for the cell.

The default item editor is a TextInput control. Therefore, the default value of the editorDataField property is "text", which corresponds to the text property of the TextInput control. If you specify a custom item editor, you also set the editorDataField property to the appropriate property of the item editor
0

Je suis toujours frappé dans cette erreur, mais je pense qu'il ya un espoir de sortir .... :)

Si nous prenons TextInput comme itemEditor, comme:

dataGridColumn.itemEditor = new ClassFactory(TextInput); 

Ensuite, il n'y a pas eu de problème car le "texte" est défini en interne dans TextInput.as. Sur une note similaire si je copie ensemble le texte et obtenir du texte à l'intérieur de notre éditeur personnalisé, alors son fonctionnement bien .. seul problème qui est à venir concerne la validation des valeurs modifiées.

Je travaille dessus, j'espère que je serai en mesure de le trier.

PS: Je suis un débutant ici, donc plz me pardonner de tout RnD idiotes ...: p

1

i résolu le problème avec commiting incluting "retour des données [" sélectionnées "] dans toString()." obtenir le texte:

<mx:DataGridColumn dataField="selected" rendererIsEditor="true" > 
      <mx:itemRenderer> 
       <fx:Component> 
        <mx:Box styleName="" width="100%" height="100%" backgroundAlpha="0.0" 
          horizontalAlign="center" verticalAlign="middle"> 

         <fx:Script> 
          <![CDATA[ 

           public function get text():String 
           { 
            return data["selected"].toString(); 
           } 
           public function set text(value:String):void 
           { 

           } 
           protected function checkbox1_clickHandler(event:MouseEvent):void 
           { 
            data["selected"]=event.target["selected"]; 
           } 
          ]]> 
         </fx:Script> 

         <mx:CheckBox selected="{data.selected}" click="checkbox1_clickHandler(event)"/> 
        </mx:Box> 
       </fx:Component> 
      </mx:itemRenderer>    
     </mx:DataGridColumn> 
Questions connexes