That's is going to be my next step. Loop thru my data and add canvas from left to right.
--- In flexcoders@yahoogroups.com, "Gordon Smith" <[EMAIL PROTECTED]> wrote: > > Why aren't you just using a horizontally-scrolling HBox? > > > > - Gordon > > > > ________________________________ > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of markgoldin_2000 > Sent: Wednesday, April 23, 2008 1:43 PM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: passing parameters to components > > > > What I am trying to do is bit different. > I am trying to build a dataGrid with one row and about 15-20 columns. > Each column would have a custom renderer based on canvas (based > UIComponent did not work for me). Then in canvas I will have two > dataGrids positioned vertically. Actual usser data is going to be > shown in internal grids. Data behind the main grid (the one with one > row) is unrelated to anything: I am assigning simple data to it just > to make things work. Building process flow here is something like > this: > A custom renderer (canvas with two grids) is instantiated. The I need > to run some code within canvas to prepare both grids showing data > related to outer grid's column. > I am using dataGrid for main comtainer basically to have everyting > look nice (just like it would have been loking if it could have been > possible to create a dataGrid without internal grids/renderers), > scrolling at the same time, .... > I am open for solution how to replace main dataGrid to another > container and fill it with canvas that carries two grids inside. > Sorry, if it is not too clear. If I knew how to upload an image of my > project I would. > > Thanks for help. > > --- In flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> > , "Gordon Smith" <gosmith@> wrote: > > > > Setting the itemRenderer property doesn't actually add a renderer to > > List (or whatever) at that moment. It simply tells the List, "when > you > > need to make item renderers, use this IFactory to make the renderer > > instances". The List is in charge of creating item renderers, not > you. > > > > > > > > If you really need to cause properties to be set on the item > renderers > > (as opposed to conveying those properties through the data items in > the > > data provider), then set the itemRenderer to a ClassFactory > instance on > > which you've specified a 'properties' Object. The name/value pairs > in > > the 'properties' Object will get set on each renderer when it is > > created. > > > > > > > > Gordon Smith > > > > Adobe Flex SDK Team > > > > > > > > ________________________________ > > > > From: flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> > > [mailto:flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> > ] On > > Behalf Of markgoldin_2000 > > Sent: Wednesday, April 23, 2008 5:28 AM > > To: flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> > > Subject: [flexcoders] Re: passing parameters to components > > > > > > > > Speaking about Communicating between Components. In reality > > everything is custom, specifically custom renderers. What I have > been > > having problem with is to how to populate properties of a custom > > component and how to execute its methods before the component is > > added to a parent container, another words before this: > > Column.itemRenderer = customRenderer; > > > > --- In flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > , "Tracy Spratt" <tspratt@> wrote: > > > > > > There are many ways. Below is a document I started, but have not > > > polished, but should be of some use. > > > > > > Tracy > > > > > > > > > > > > Communicating between Components: > > > > > > > > > > > > Note: for "loose coupling" use events. But that is another topic. > > > > > > > > > > > > A non-trivial flex application is "component" based. While all of > > the > > > built-in controls are components, the question of communicating > > between > > > components most often arises when you are using a custom > component. > > A > > > custom component, whether implemented in mxml or ActionScript, > has > > its > > > own "scope". Within that component (Application is a component > > too!), > > > all sibling child controls share the same scope, so you can refer > to > > > controls by their id. If the controls(components) have public > > > properties or methods, you can reference those members directly > > through > > > the id: > > > > > > <mx:TextInput id="textinput1" text="test value" .../> > > > > > > <mx:Text id="text1" ... text="{textinput1.text}" .../> > > > > > > > > > > > > Ok, so far, its a "duh" right? > > > > > > > > > > > > When you use custom components in a Flex app, at run time they > make > > a > > > document object model hierarchy (DOM). Each subcomponent has its > > own > > > scope and code within that component can't *directly* reference > the > > > member properties or methods of its sibling subcomponents. > > > > > > > > > > > > So again, within a component, code can reference children > > directly, as > > > in the example above. But there are two other cases inherent in a > > > hierarchy. You might want to reference "up", to get to public > > members > > > of the parent, grandparent, etc, or 'down", to get to > > a "grandchild". > > > > > > > > > > > > Accessing members in the parent: > > > > > > On an ordinary component DOM, you can reference the parent > component > > > using the .parent property. Say that a control with > id="textinput1" > > > exists in the parent of the current component. then you could do: > > > > > > <mx:Text id="text1" ... text="{parent.textinput1.text}" > > > .../> > > > > > > > > > > > > Accessing members in the main application: > > > > > > Components can be nested, sometimes very deeply. If the reference > > you > > > want is all the way at the top-level, main application (the one > > with the > > > <mx:Application> tag), you could do > > > {parent.parent.parent.textinput1.text}, but you would have to > count > > the > > > component levels just right. Instead, you can use > > > Application.application to get to that scope: > > > > > > <mx:Text id="text1" ... > > > text="{Application.application.textinput1.text}" .../> > > > > > > You can shoretn this style of reference by importing > > > mx.core.Application, and assigning Application.application to a > > > variable, like _app, the doing (_app.textinput1.text) > > > > > > > > > > > > Accessing components of a child component ("grandchildren"): > > > > > > Say that in this case, a child component has the TextInput > control > > you > > > want to reference. First, make sure the child component has an id: > > > > > > <myComp:MyCustomComp id="mycc1" .../> > > > > > > Then, in the same scope (the same component/file that > > contains "mycc1" > > > above) you can say: > > > > > > <mx:Text id="text1" ... > > text="{mycc1.textinput1.text}" .../> > > > > > > > > > > > > Accessing a nested component: > > > > > > As mentioned above you can go "up" the hierarchy using > > > "parent.parent...". You can also go "down" the hirearchy using id > > > references: > > > > > > <mx:Text id="text1" ... > > > text="{mycc1.mycc11.mycc.12.textinput1.text}" .../> > > > > > > > > > > > > Additional notes: > > > > > > If you are using SWFLoader to load an entire Application, you can > > > reference the immediate parent application > using "parentDocument". > > You > > > can also use Application.application to reach the main app, as > shown > > > above. > > > > > > > > > > > > Accessing members of an application loaded by SWFLoader is a bit > > more > > > complicated. See the example here: > > > > > > http://www.cflex.net/showFileDetails.cfm?ObjectID=690 > <http://www.cflex.net/showFileDetails.cfm?ObjectID=690> > > <http://www.cflex.net/showFileDetails.cfm?ObjectID=690 > <http://www.cflex.net/showFileDetails.cfm?ObjectID=690> > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > > From: flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > > > [mailto:flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> > > ] On > > > Behalf Of Luke Vanderfluit > > > Sent: Tuesday, April 22, 2008 7:08 PM > > > To: flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> > <mailto:flexcoders% > 40yahoogroups.com> > > > Subject: [flexcoders] passing parameters to components > > > > > > > > > > > > Hi. > > > > > > I have a flex application that gets called from an html link and > is > > > passed a > > > parameter. The param is personid. > > > > > > I retrieve the parameter in the flex application (BrowserManager). > > > So I have access to it in the main application file. > > > > > > I have a number of components within the main application, that do > > > server > > > requests. In some of those requests I need to pass the personid > > (that I > > > have > > > retrieved from the browser url). > > > > > > My question is: > > > > > > What is the accepted method of passing variables (params) between > > > components, > > > specifically, in this case, from parent to child component? > > > > > > Thanks for your responses. > > > > > > Kind regards. > > > Luke. > > > > > > -- > > > Luke Vanderfluit > > > Analyst / Web Programmer > > > e3Learning.com.au > > > 08 8221 6422 > > > > > >