Hi, As Yishay pointed before, the document root tag is the important one here. For Application is ApplicationDataBinding. You can move the view to a new file and make it root of that file, in that case you use ViewDataBinding
HTH Carlos El mié., 5 feb. 2020 a las 19:29, De Carli Gustavo (< [email protected]>) escribió: > > Carlos, sorry the ViewDataBinding , > Is it well applied? > The grid and the input text do not show values. > > Thank > > <?xml version="1.0" encoding="utf-8"?> > <j:Application xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:j="library://ns.apache.org/royale/jewel" > xmlns:js="library://ns.apache.org/royale/basic" > width="100%" > height="100%"> > <fx:Script> > > <![CDATA[ > import org.apache.royale.collections.ArrayList; > > [Bindable] > public var texto:String = "Hello World"; > > [Bindable] > public var data:ArrayList = new ArrayList( [ > {label:'Africa' ,code:'001'}, > {label:'America',code:'002'}, > {label:'Asia' ,code:'003'}, > {label:'Europa' ,code:'004'}, > {label:'Oceania',code:'005'}, > ]); > > ]]> > </fx:Script> > > <!-- WITH THIS CODE , WORK ! > <j:beads> > <js:ApplicationDataBinding/> > </j:beads> > --> > <j:initialView> > <j:View> > <!-- THIS BEAD IS OK ? --> > <j:beads> > <js:ViewDataBinding/> > </j:beads> > <j:TextInput id="txtInputBinding" text="{texto}"/> > <j:DataGrid id="dg" dataProvider="{data}"> > <j:columns> > <j:DataGridColumn label="Label" dataField="label"/> > <j:DataGridColumn label="Code" dataField="code"/> > </j:columns> > </j:DataGrid> > </j:View> > </j:initialView> > </j:Application> > > El mié., 5 feb. 2020 a las 15:00, Carlos Rovira (<[email protected]>) > escribió: > >> Hi, >> >> as Yishay said, each component/container type has its own binding bead: >> >> >> - Application - ApplicationDataBinding >> - View - ViewDataBinding >> - Container - ContainerDataBinding >> >> >> El mié., 5 feb. 2020 a las 16:52, Yishay Weiss (<[email protected]>) >> escribió: >> >>> As I understand it the bead you use depends on your document type. If >>> your root tag were a View you would use ViewDataBinding. I’m not aware of >>> performance differences but I wasn’t involved in writing Binding so others >>> may want to comment. >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Sent: *Wednesday, February 5, 2020 3:35 PM >>> *To: *[email protected] >>> *Subject: *Re: Data Binding problem >>> >>> >>> >>> Hello Yishay, thank, with ApplicationDataBinding work ! >>> >>> I understand that I can shorten the level of "binding", so I am trying >>> to use "ViewDataBinding" without success >>> >>> Is it recommended to use "ApplicationDataBinding"? or is less performant >>> >>> >>> >>> >>> >>> Thank very much. >>> >>> Gustavo. >>> >>> >>> >>> El mié., 5 feb. 2020 a las 10:02, Yishay Weiss (<[email protected]>) >>> escribió: >>> >>> Have you tried adding ApplicationDataBinding? See example [1] >>> >>> >>> >>> [1] >>> https://royale.apache.org/binding-the-text-property-of-a-jewel-textinput-to-update-a-text-label/ >>> >>> >>> >>> *From: *De Carli Gustavo <[email protected]> >>> *Sent: *Wednesday, February 5, 2020 12:15 AM >>> *To: *[email protected] >>> *Subject: *Data Binding problem >>> >>> >>> >>> >>> >>> Hello. >>> >>> >>> I do not find what the concept of error is because it does not work >>> "binding" from the beginning, but in the method refresh . >>> >>> Don't load the data for default. >>> >>> >>> >>> Thk. >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> <?xml version="1.0" encoding="utf-8"?> >>> >>> >>> >>> <j:Application xmlns:fx="http://ns.adobe.com/mxml/2009" >>> >>> >>> >>> xmlns:j="library://ns.apache.org/royale/jewel" >>> >>> >>> >>> xmlns:js="library://ns.apache.org/royale/basic" >>> >>> >>> >>> >>> width="100%" >>> >>> >>> >>> height="100%"> >>> >>> >>> >>> >>> >>> <fx:Script> >>> >>> >>> >>> <![CDATA[ >>> >>> >>> >>> import org.apache.royale.events.Event; >>> >>> >>> >>> import org.apache.royale.collections.ArrayList; >>> >>> >>> >>> >>> >>> [Bindable] >>> >>> >>> >>> private var data:ArrayList = new ArrayList( [ >>> >>> >>> >>> {label:'Africa' >>> ,code:'001'}, >>> >>> >>> >>> {label:'America' >>> ,code:'002'}, >>> >>> >>> >>> {label:'Asia' >>> ,code:'003'}, >>> >>> >>> >>> {label:'Europa' >>> ,code:'004'}, >>> >>> >>> >>> {label:'Oceania' >>> ,code:'005'}, >>> >>> >>> >>> ]); >>> >>> >>> >>> >>> >>> private function refresh(e:Event):void { >>> >>> >>> >>> dg.dataProvider = this.data; >>> >>> >>> >>> } >>> >>> >>> >>> ]]> >>> >>> >>> >>> </fx:Script> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> <j:initialView> >>> >>> >>> >>> <j:View> >>> >>> >>> >>> <j:DataGrid id="dg" >>> >>> >>> >>> width="400" >>> >>> >>> >>> height="200" >>> >>> >>> >>> dataProvider="{data}"> >>> >>> >>> >>> <j:columns> >>> >>> >>> >>> <j:DataGridColumn label="Label" dataField="label"/> >>> >>> >>> >>> <j:DataGridColumn label="Code" dataField="code"/> >>> >>> >>> >>> </j:columns> >>> >>> >>> >>> </j:DataGrid> >>> >>> >>> >>> <j:Button id="btnRefresh" text="Refresh Me" click= >>> "refresh(event)"/> >>> >>> >>> >>> </j:View> >>> >>> >>> >>> </j:initialView> >>> >>> >>> >>> </j:Application> >>> >>> >>> >>> >>> >>> >>> >> >> >> -- >> Carlos Rovira >> http://about.me/carlosrovira >> >> -- Carlos Rovira http://about.me/carlosrovira
