2013-08-26 5 views
0

В моем коде datagrid не является событием, связанным с огнем. может кто-нибудь помочь мне найти, где я ошибаюсь. для получения помощи код приведен ниже.Flex DataGrid DataChange Событие не работает

     <mx:DataGrid id="userlist" 
           horizontalGridLines="true" 
           horizontalGridLineColor="0xeeeeee" 
           dataChange="dataChanged();" 

           editable="true" 
           change="changegrid(event);" 
           width="100%" 
           height="250" borderColor="#FF0000" borderStyle="solid" 
           borderThickness="1"> 

        <mx:columns > 
         <mx:DataGridColumn dataField="User" editable="false" headerText="User" /> 
         <mx:DataGridColumn dataField="cam" editable="true" width="24" itemEditor="mx.controls.CheckBox" editorDataField="cam" textAlign="center" headerText="M"> 
          <mx:itemRenderer> 
      <mx:Component > 
           <mx:Box horizontalAlign="center" verticalAlign="middle" height="100%" width="100%"> 
            <mx:CheckBox id="chb" click="data.cam=!data.cam" selected="{data.cam}"/> 
           </mx:Box> 
      </mx:Component> 
          </mx:itemRenderer> 
          <mx:headerRenderer> 
          <mx:Component> 
           <mx:Image width="16" height="16" toolTip="Change Cam Status" source="@Embed(source='icons/webcam_start.png')" verticalAlign="middle" horizontalAlign="center"/> 
          </mx:Component> 
          </mx:headerRenderer> 
         </mx:DataGridColumn> 
         <mx:DataGridColumn dataField="mic" editable="false" itemEditor="mx.controls.CheckBox" editorDataField="mic" width="24" textAlign="center" headerText="C"> 
          <mx:itemRenderer> 
      <mx:Component > 
           <mx:Box horizontalAlign="center" verticalAlign="middle" height="100%" width="100%"> 
            <mx:CheckBox id="chb1" click="data.mic=!data.mic" selected="{data.mic}" /> 
           </mx:Box> 

      </mx:Component> 
          </mx:itemRenderer>         
          <mx:headerRenderer> 
          <mx:Component> 
           <mx:Image width="16" height="16" toolTip="Change Microphone Status " source="@Embed(source='icons/microphone_plus.png')" verticalAlign="middle" horizontalAlign="center"/> 
          </mx:Component> 
          </mx:headerRenderer>         
         </mx:DataGridColumn> 
         <mx:DataGridColumn dataField="sound" editable="false" itemEditor="mx.controls.CheckBox" editorDataField="sound" width="24" textAlign="center" headerText="R1"> 
          <mx:itemRenderer> 
      <mx:Component > 
           <mx:Box horizontalAlign="center" verticalAlign="middle" height="100%" width="100%"> 
            <mx:CheckBox id="chb2" click="data.sound=!data.sound" selected="{data.sound}"/> 
           </mx:Box> 

      </mx:Component> 
          </mx:itemRenderer>         
          <mx:headerRenderer> 
          <mx:Component> 
           <mx:Image width="16" height="16" 
    toolTip="Turn Sound on/off " source="@Embed(source='icons/audio_volume_high.png')"  verticalAlign="middle" horizontalAlign="center"/> 
          </mx:Component> 
          </mx:headerRenderer>        
         </mx:DataGridColumn> 
        </mx:columns> 

        </mx:DataGrid> 

Я использую следующие данные частный вар Plist: ArrayList = новый ArrayList ( [{User: 'Ravi Канчан Шарма', кулачок: правда, микрофон: правда, звук: истинный}, {User : 'Vijay Anand Sharma', cam: true, mic: false, sound: true}, {Пользователь: 'Yogender Kumar Sharma', cam: false, mic: true, sound: true}]); `

ответ

0

Чтобы событие dataChange запускалось из компонента, значение «данных» необходимо изменить. Из вашего кода неясно, почему значение DataGrid изменится.

Событие dataChange обычно используется внутри itemRenderer для изменения его содержимого отображения всякий раз, когда изменяется свойство данных itemRenderer. Свойство data в itemRenderer будет представлять собой один элемент DataProvider DataGrid.

Если вы не используете DataGrid как itemRenderer - что возможно, но необычно - я бы не ожидал изменения свойства данных DataGrid; и поэтому событие DataChange никогда не будет срабатывать из DataGrid.

Смежные вопросы