2010-01-06 36 views
0

我希望在選擇數據網格的行時選中我的複選框(位於數據網格中)。而對於這一點,我寫了下面的代碼:錯誤 - 嘗試選擇複選框時,當在數據網格中選擇一行時

<mx:DataGrid id="dg_trashContent" allowMultipleSelection="true" 
         verticalGridLines="true" 
         dataProvider="{trashDataProvider}"      
         width="100%"       
         height="240" 
         fontFamily="Arial" y="23" 
         selectable="true"> 
     <mx:columns> 
      <mx:DataGridColumn id="col0" 
           textAlign="left" 
           sortable="false" 
           headerText="" 
           headerStyleName="datagridHeader" 
           dataField="name" 
           width="20"> 
         <mx:itemRenderer> 
           <mx:Component> 
             <mx:VBox paddingLeft="5"> 
               <mx:CheckBox selected="{data.isRowSelected}" 
                  click="outerDocument.updateSelectedRowFlag(event);" 
                  change="{this.selected = data.isRowselected; }"/> 
             </mx:VBox> 
           </mx:Component> 
         </mx:itemRenderer> 
       </mx:DataGridColumn> 
      <mx:DataGridColumn id="col1" 
           textAlign="left" 
           sortable="true" 
           headerText="Name" 
           headerStyleName="datagridHeader" 
           dataField="name"/> 

,但我得到了我在我的複選框使用「選擇」屬性錯誤。錯誤說: 訪問通過靜態類型TrashContainer_inlineComponent1引用選擇可能未定義的屬性。

你可以看看我在這裏做錯了什麼。

問候 Zeeshan

回答

0

您可以使用此渲染

<mx:DataGridColumn id="col0" 
          textAlign="left" 
          sortable="false" 
          headerText="" 
          dataField="key" 
          width="20"> 
        <mx:itemRenderer> 
          <mx:Component> 

            <mx:VBox paddingLeft="5"> 
            <mx:Script> 
             <![CDATA[ 
              import mx.controls.DataGrid; 

              override public function set data(value:Object):void 
              { 
               super.data = value; 
               ckb.selected = data.isRowSelected; 

               if(data.isRowSelected) 
                (parent.parent as DataGrid).selectedItem = data; 
              } 
             ]]> 
            </mx:Script> 
              <mx:CheckBox id="ckb" /> 
            </mx:VBox> 
          </mx:Component> 
        </mx:itemRenderer> 
      </mx:DataGridColumn> 

其中isRowSelected是集合中的數據對象的一部分。

我希望這可以是有用的。

相關問題