Alright, I see. But a bit more detail.
<1. Create the internal components in an override of createChildren()
In the main container, HBox, right?
<2. Write a setter for the data
Isn't it supposed to be on internal dataGrid class since same class 
is used for each internal dataGrid?
<3. In an override of commitProperties(), ..
of an internal dataGrid class for the same reason as #2?


Thanks a lot for help.

--- In [email protected], "Gordon Smith" <[EMAIL PROTECTED]> wrote:
>
> Why Canvas? Why not a VBox to hold the two DataGrids?
> 
>  
> 
> Or use a single horizontally-scrolling Canvas and put the DataGrids 
at
> the correct locations. Then you don't need any HBoxes or VBoxes.
> 
>  
> 
> In any case, you probably don't want to create the
> Canvases/VBoxes/DataGrids based on the data, because every time the 
data
> changes you'll waste time getting rid of them and creating new 
ones. If
> the number of columns (or an upper bound) is know, the normal 
process is
> 
>  
> 
> 1. Create the internal components in an override of createChildren()
> (after calling the supermethod).
> 
>  
> 
> 2. Write a setter for the data.
> 
>  
> 
> 3. In an override of commitProperties(), call the supermethod and 
then
> stuff the internal components with the data. If necessary, hide 
extra
> ones that aren't needed.
> 
>  
> 
> Gordon Smith
> 
> Adobe Flex SDK Team
> 
>  
> 
> ________________________________
> 
> From: [email protected] 
[mailto:[EMAIL PROTECTED] On
> Behalf Of markgoldin_2000
> Sent: Wednesday, April 23, 2008 1:56 PM
> To: [email protected]
> Subject: [flexcoders] Re: passing parameters to components
> 
>  
> 
> That's is going to be my next step.
> Loop thru my data and add canvas from left to right.
> 
> --- In [email protected] <mailto:flexcoders%
40yahoogroups.com>
> , "Gordon Smith" <gosmith@> wrote:
> >
> > Why aren't you just using a horizontally-scrolling HBox?
> > 
> > 
> > 
> > - Gordon
> > 
> > 
> > 
> > ________________________________
> > 
> > From: [email protected] <mailto:flexcoders%
40yahoogroups.com>
> 
> [mailto:[email protected] <mailto:flexcoders%
40yahoogroups.com>
> ] On
> > Behalf Of markgoldin_2000
> > Sent: Wednesday, April 23, 2008 1:43 PM
> > To: [email protected] <mailto:flexcoders%
40yahoogroups.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 [email protected]
> <mailto:flexcoders%40yahoogroups.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: [email protected]
> <mailto:flexcoders%40yahoogroups.com>  <mailto:flexcoders%
> 40yahoogroups.com>
> > 
> > [mailto:[email protected]
> <mailto:flexcoders%40yahoogroups.com>  <mailto:flexcoders%
> 40yahoogroups.com>
> > ] On
> > > Behalf Of markgoldin_2000
> > > Sent: Wednesday, April 23, 2008 5:28 AM
> > > To: [email protected] <mailto:flexcoders%
40yahoogroups.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 [email protected]
> <mailto:flexcoders%40yahoogroups.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> > 
> > > <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: [email protected]
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders%
> > 40yahoogroups.com>
> > > 
> > > [mailto:[email protected]
> <mailto:flexcoders%40yahoogroups.com> 
> > <mailto:flexcoders%40yahoogroups.com> <mailto:flexcoders%
> > 40yahoogroups.com>
> > > ] On
> > > > Behalf Of Luke Vanderfluit
> > > > Sent: Tuesday, April 22, 2008 7:08 PM
> > > > To: [email protected]
> <mailto:flexcoders%40yahoogroups.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
> > > >
> > >
> >
>


Reply via email to