2012-01-21 65 views
1

我在數據網格中遇到itemRender的問題。其實我有一個dataProvider,它填充我的數據網格中的2列。第一列數據呈現在TextInput中,第二列數據呈現在組合框中。我現在想要的是,當我從網格中的行的組合框中選擇一個元素。我想在第一列的同一行的相應TextInput中顯示selectedItem值。如何從數據網格中的comboBox itemrenderer中獲取selectedItem並在另一列中顯示值

我想知道是否有任何datagrid屬性可以幫助我做到這一點?或者如果有人可以指導我在comboBox的變更處理程序中編碼什麼?看到我的代碼如下。

我需要幫助。請爲我解決這個問題。

<mx:DataGrid id="myDG" rowHeight="25" dataProvider="{my_arrayColl}" width="100%" height="205" chromeColor="#D0CCAF" headerHeight="0" showHeaders="false"> 
        <mx:columns> 
         <mx:DataGridColumn headerText="My Header 1"                   
              editable="true"                   
              dataField="LBL"                    
              > 
          <mx:itemRenderer> 
           <fx:Component> 
            <mx:HBox horizontalAlign="left" horizontalScrollPolicy="off" verticalScrollPolicy="off"> 


             <fx:Script> 
              <![CDATA[ 
               import mx.controls.Alert; 
               import mx.controls.Text; 

               import spark.events.TextOperationEvent; 

               protected function label_txt_changeHandler(event:TextOperationEvent):void 
               { 
                data.LBL = label_txt.text; 
               } 


              ]]> 
             </fx:Script> 

             <s:TextInput id="label_txt" change="label_txt_changeHandler(event)" text="{data.LBL}" width="98%"/> 
            </mx:HBox> 
           </fx:Component> 
          </mx:itemRenderer> 
         </mx:DataGridColumn>  

         <mx:DataGridColumn headerText="My Header 2"                  
              editable="true"                     
              rendererIsEditor="true"                   
              dataField="ALIAS"                    
              > 
          <mx:itemRenderer> 
           <fx:Component> 
             <mx:ComboBox height="80%" change="mycb_changeHandler(event)" labelField="ALIAS" dataProvider="{outerDocument.mycb_array}"> 
              <fx:Script> 
               <![CDATA[ 
                import mx.events.ListEvent; 

                protected function mycb_changeHandler(event:ListEvent):void 
                { 

                } 

               ]]> 
              </fx:Script> 

             </mx:ComboBox> 
           </fx:Component> 
          </mx:itemRenderer> 
         </mx:DataGridColumn> 

        </mx:columns> 
       </mx:DataGrid> 

回答

0

如果我理解正確,您想要根據itemRenderer中ComboBox組件中的選擇更新DataGrid的數據提供者。您可以通過轉到所有者對象並更新數據中的相應對象來做到這一點。只需將itemRenderer保存在一個單獨的mxml中,並將您的調試指針放在label_txt_changeHandler方法中。

希望它有幫助..

相關問題