flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Ent <p...@adobe.com>
Subject [FlexJS] DataGridColumn
Date Fri, 10 Jan 2014 22:05:58 GMT
Hi,

I've just pushed some changes to FlexJS DataGrid that adds DataGridColumn. This work was primarily
to allow custom itemRenderers per column. The changes I've pushed are initial work - there
are properties that aren't implemented or do nothing right now, but the code should be safe
to use. Next week I'll finish this out and clean up the code.  Both ActionScript and JavaScript
implementations are in-sync.

Here is an example:

<basic:DataGrid id="dataGrid" x="20" y="30" width="400" height="300" change="dataGridChange()"
>
<basic:beads>
<models:MyGridPresentation rowHeight="50" />
<basic:ConstantBinding
sourceID="applicationModel"
sourcePropertyName="productList"
destinationPropertyName="dataProvider" />
<basic:ConstantBinding
sourceID="applicationModel"
sourcePropertyName="labelFields"
destinationPropertyName="labelFields" />
</basic:beads>
<basic:columns>
<basic:DataGridColumn label="Image" dataField="image" columnWidth="100" itemRenderer="products.ProductItemRenderer"
/>
<basic:DataGridColumn label="Title" dataField="title" columnWidth="200" />
<basic:DataGridColumn label="Sales" dataField="sales" columnWidth="100" />
</basic:columns>
</basic:DataGrid>


I will probably drop the MyGridPresentation model  or find another use for it; that model
contained the labels for the columns which DataGridColumn now supplies. I'll probably also
drop the need for the labelFields ConstantBinding as DataGridColumn also provides those values.

If you do use this code you'll find that the rows do not have equal height unless you specify
the height of the itemRenderers using styles, like this:

sample|ProductItemRenderer {
height: 40;
IBeadController: ClassReference("org.apache.flex.html.staticControls.beads.controllers.ItemRendererMouseController");
}
basic|StringItemRenderer {
height: 40;
}

(StringItemRenderer is the default itemRenderer for the DataGrid list columns).

I plan on creating a bead that will handle making all of the rows equal in height or allow
for variable row height. Since FlexJS is a 'pay as you go' framework, the added burden of
determining row heights is left out by default and can be added in when needed using this
new bead.

Regards,
Peter Ent
Adobe Systems


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message