Flex SDK

Datefield itemeditor.!!! ayuda

Este debate contiene 2 respuestas, tiene 2 mensajes y lo actualizó Imagen de perfil de Leonardo Velazquez Leonardo Velazquez hace 3 años, 5 meses.

Viendo 3 publicaciones - del 1 al 3 (de un total de 3)
  • Autor
    Publicaciones
  • #6626
    Imagen de perfil de Leonardo Velazquez
    Leonardo Velazquez
    Participante

    Hola necesito montar un datefield dentro de un datagrid, los datos vienen en formato string, como es sabido el datefield usa la propiedad selectedDate para mostrar los datos, bueno, eh intentado de mil formas y no puedo, metiendo el itemeditor solo con datefield y nada, luego con hbox y dentro el datefield y marcaba un error ya que por default los datagrids utilizan textinput, y lei que habia que crear la variabla selectedDate dentro del componente, asi lo hice, carga mis datos, se ven perfectos, pero si me pongo en esa columna de la fecha y me cambio a otra, ahi sigue, pero si regreso a la columna de la fecha, se me pierde el dato, baje otro ejemplo donde crean un componente para el itemeditor pero le sucede lo mismo, al entrar al campo fecha se pierde, bueno este esta peor, pke se pierde inmediato, le doy escape y regresa a la fecha, pero si cambio de columna se vuelve a perder.

    esta fue la pagina del ejemplo:

    http://blog.ankur-arora.com/2011/04/using-datefield-as-editor-with-datagrid.html?showComment=1398285714532#c7352879925498334920

    y aqui esta el codigo de mi columna, el labelFunction me lo formatea a MDY ya que viene en otro formato desde mysql

    <mx:DataGridColumn headerText=”Date” width=”90″ dataField=”fecha” editable=”true”
    textAlign=”center” labelFunction=”Funciones.DGFechaMDY” editorDataField=”selectedDate”>
    <mx:itemEditor>
    <mx:Component>
    <mx:HBox>
    <mx:Script>
    <![CDATA[
    import framework.common.MysqlDate;

    [Bindable]
    public var selectedDate:Date;

    override public function set data( value:Object ):void{
    super.data = value;
    selectedDate = MysqlDate.dStrToDate(MysqlDate.dSQLtoMDY_str( data.fecha ), ‘MM/DD/YYYY’);

    Fecha.selectedDate = MysqlDate.dStrToDate(MysqlDate.dSQLtoMDY_str( data.fecha ), ‘MM/DD/YYYY’);
    }
    ]]>
    </mx:Script>
    <mx:DateField id=”Fecha” textAlign=”center” editable=”true” restrict=”0-9\/” formatString=”MM/DD/YYYY” horizontalCenter=”0″ width=”100%”/>
    </mx:HBox>
    </mx:Component>
    </mx:itemEditor>
    </mx:DataGridColumn>

    Ojala alguien me pueda ayudar..!! estoy atorado y no puedo avanzar.!!

    #6627
    Imagen de perfil de Carlos Rovira
    Carlos Rovira
    Jefe de claves

    Hola Leonardo,

    veo que usas el mx:DataGrid en vez del s:DataGrid (spark). Si te es posible te recomiendo usar este último ya que lo que planteas está en desuso.

    En general el problema que plateas suele ser debido a un reciclaje incorrecto de los renderers, con spark debes conseguir un estilo de programación más consistente a lo largo de Flex (no solo con DataGrids) que te ayude a evitar estos problemas conforme entiendas su uso. La clave está en que los renderers se “reutilizan” para distintos datos y por tanto debes asegurar un ciclo de vida correcto para que se redibujen y ofrezcan un estado consistente conforme hago scroll por la lista o grid.

    Mira este enlace con un ejemplo de s:Datagrid y un itemrenderer con un DateField a ver si te ayuda. En este se usa un two way binding para recibir el dato y también para sobreescribirlo.

    #6628
    Imagen de perfil de Leonardo Velazquez
    Leonardo Velazquez
    Participante

    Hola gracias por responder, si la verdad es que no tengo mucho tiempo en Flex, de hecho estoy en Flex 3.5 :-/

    voy a leer lo que me dices a ver que puedo hacer, si no tendre que buscar otra solucion, ya que a estas alturas ya no puedo migrar a otra version

    saludos

Viendo 3 publicaciones - del 1 al 3 (de un total de 3)

Debes estar registrado para responder a este debate.

Acerca de Made In Flex

Made In Flex es una comunidad de desarrolladores de Apache Flex creada en 2006.

Apache Flex, anteriormente conocido como Adobe Flex, es un SDK (kit de desarrollo de software) para crear aplicaciones enriquecidas - multiplataforma basadas en Adobe Flash donado por Adobe a la fundación Apache in 2011 y promocionado a proyecto de primer nivel en Diciembre de 2012.

Actualmente estamos cambiando muchos aspectos del sitio web para ofrecer un sitio útil para toda la comunidad que tenga en cuenta las necesidades actuales.

Últimas Fotos

Instalador de Apache Flex

Entrar o Registrase