Flex CheckBox en Datagrid

votos
3
En el siguiente código de flexión: 
También se puede ver en: http://www.cse.epicenterlabs.com/checkBoxDg/checkBoxDg.html
1. Agregue una fila en la cuadrícula de datos haciendo clic en AddRow
2. Haga clic en CheckDg para ver los valores de todas las casillas de verificación
     - muestra checkBox57 o checkBox64 o alguna cadena similar
3. Ahora, selecciona checkBox en la primera fila.
4. Haga clic nuevamente en CheckDg
    -demostrar verdadero

Entonces, inicialmente dp.getItemAt (i) .date devuelve un CheckBox
y luego devuelve el valor seleccionado de CheckBox?
¿Por qué esta diferencia?
<?xml version=1.0 encoding=utf-8?>
<mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout=absolute viewSourceURL=srcview/index.html>
        <mx:Canvas>
        <mx:DataGrid x=69 y=119 id=dgFee editable=true dataProvider={dp}>
            <mx:columns>
            <mx:DataGridColumn headerText=Date dataField=date width=100 editable=true 
            editorDataField=selected rendererIsEditor=true>
            <mx:itemRenderer>
                <mx:Component>
                    <mx:CheckBox selected=false>
                                       </mx:CheckBox>
                        </mx:Component>
            </mx:itemRenderer>
            </mx:DataGridColumn>
                       <mx:DataGridColumn dataField=amount headerText=Amount editable=true>
                         <mx:itemEditor>
                         <mx:Component>
                                  <mx:TextInput restrict=0-9/>
                         </mx:Component>
                         </mx:itemEditor>   
                       </mx:DataGridColumn>
            </mx:columns>
        </mx:DataGrid>
        <mx:CheckBox x=130 y=54 label=Checkbox selected=true click=Alert.show(abc.selected.toString()) id=abc/>
<mx:Script>
    <![CDATA[
        import mx.controls.CheckBox;
        import mx.collections.ArrayCollection;
        import mx.controls.Alert;
        public var dp:ArrayCollection = new ArrayCollection();
        public function addRow():void
        {
          var tmp:Object = new Object();
          tmp['amount'] = 100;
          tmp['date'] = new CheckBox();
          dp.addItem(tmp);
        }
        public function delRow():void
        {
            if(dgFee.selectedIndex != -1)
            dp.removeItemAt(dgFee.selectedIndex);
        }

        public function loop1():void
        {
            for(var i:int=0;i<dp.length;i++)
            {
               Alert.show(dp.getItemAt(i).date);
            }
        }
    ]]>
</mx:Script>
                <mx:Button x=29 y=89 label=AddRow click=addRow()/>
                <mx:Button x=107 y=89 label=DelRow click=delRow()/>
                <mx:Button x=184 y=89 label=CheckDg click=loop1()/>

</mx:Canvas>    
</mx:Application>
Publicado el 13/07/2009 a las 18:13
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
0

Cuando hace clic en la casilla de verificación en la cuadrícula, escribe "verdadero" o "falso" en el campo de fecha, reemplazando el objeto CheckBox original que estaba allí. Creo que lo que hacen los editores de elementos (está utilizando su procesamiento como editor) es que escriben la propiedad .data de los componentes respectivos en la colección.

Respondida el 13/07/2009 a las 19:03
fuente por usuario

votos
3

No se supone asignar objetos a variables de datos, pero los datos. Checkbox.select propiedad se establece en el objeto primera casilla de verificación y luego verdadero o falso después de las actuaciones anteriores. Tal vez puedas probar

public function addRow():void
{
  var tmp:Object = new Object();
  tmp['amount'] = 100;
  tmp['date'] = false; // not new CheckBox();
  dp.addItem(tmp);
}

PS: También dp debe atribuirse con [Bindable] :-)

Respondida el 12/04/2010 a las 16:27
fuente por usuario

votos
0

Establecer la propiedad 'editable' para esa columna cuadrícula de datos en particular como falso. Esto resolverá el problema

Respondida el 25/10/2013 a las 20:23
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more