Archive for the ‘Flex’ Category
I know I’m a little late in posting this but it’s better late than never!! ![]()
So, with Flash Builder 4.5 we introduced a lot of new coding productivity features. Know about the new features here http://www.adobe.com/devnet/flash-builder/articles/flashbuilder45-coding-enhancements.html
What more… The Quick Assist feature is extensible. It means that you can write your own quick assists and use them or share them within your team. Sreeni has posted a nice write-up on how to extend quick assists. See more details here
Enjoy Coding!!!
Flash Builder 4
Posted on: March 25, 2010
- In: Flash Builder | Flex | Flex Builder
- Leave a Comment
Flash Builder 4 is released now and Andrew Shorten has listed all the new features on his blog. Check it out.
- In: Actionscript | Advanced DataGrid | Flex
- 43 Comments
There were some concerns over the performance of GroupingCollection class while grouping and calculating summaries.
So, a new class GroupingCollection2 is introduced in the data visualization components.
The major improvements in GroupingCollection2 are -
1. Grouping performance improved.
2. Summary calculation performance improved. Now, instead of looping over the data again and again, summaries are calculated in a single loop.
3. When using async refresh, the summaries are calculated as soon as each Group is built. Earlier, the summaries were calculated only after all the Groups have been made.
What has changed -
1. Introduced class GroupingCollection2 which replaces existing class GroupingCollection.
2. Introduced class SummaryField2 which replaces existing class SummaryField.
No no, classes GroupingCollection and SummaryField are not removed.
They will continue to exist to maintain backward compatibility.
So, you can use either GroupingCollection or GroupingCollection2 and AdvancedDataGrid will continue to work
The difference between SummaryField and SummaryField2 is -
SummaryField2 does not have “operation” and “summaryFunction” properties.
A new property “summaryOperation” in added in SummaryField2. It is an Object which takes one of the following -
* SUM, MIN, MAX, AVG or COUNT as String.
OR
* An implemtatation of mx.collections.ISummaryCalculator for calculating custom summaries.
The default value is SUM.
API changes -
1. Method refresh() has been changed in GroupingCollection2. The syntax now is –
function refresh(async:Boolean = false, dispatchCollectionEvents:Boolean = false):Boolean;
Code changes required to start using GroupingCollection2 -
1. Use GroupingCollection2 instead of GroupingCollection.
2. Use SummaryField2 instead of SummaryField.
3. Replace operation/summaryFunction in SummaryField with summaryOperation in SummaryField2.
An example is shown here:
With GroupingCollection –
<mx:GroupingCollection id="gc" source="{arr}">
<mx:Grouping>
<mx:GroupingField name="name" >
<mx:SummaryRow>
<mx:SummaryField dataField="sal"
operation="MAX" />
</mx:SummaryRow>
</mx:GroupingField>
</mx:Grouping>
</mx:GroupingCollection>
With GroupingCollection2 –
<mx:GroupingCollection2 id="gc" source="{arr}">
<mx:Grouping>
<mx:GroupingField name="name">
<mx:SummaryRow >
<mx:SummaryField2 dataField="sal"
summaryOperation="MAX" />
</mx:SummaryRow>
</mx:GroupingField>
</mx:Grouping>
</mx:GroupingCollection2>
Try it and let us know your feedback.
- In: Actionscript | Flex | RPC
- 4 Comments
HTTPService/HTTPMultiService have a cool concept of a Serialization Filter. This mechanism let’s you configure and manipulate various aspects of the HTTP call like the request, response, etc..
A default implementation of SerializationFilter is provided in mx.rpc.http.SerializationFilter
Usage -
You can create a custom SerializationFilter by extending from the default implementation and set it on the HTTPService instance or the Operation instance.
A sample implementation can be as simple as processing the response from the service.
For example, if your service returns a comma (,) separated list of values, you can convert it to an Array here.
package
{
import mx.rpc.http.AbstractOperation;
import mx.rpc.http.SerializationFilter;
public class CustomSerializationFilter extends SerializationFilter
{
override public function deserializeResult
(operation:AbstractOperation, result:Object):Object
{
var arr:Array = [];
if (result is String)
{
arr = String(result).split(',');
}
return arr;
}
}
}
And no, this is not all, there are other methods also which exposes more functionality.
For example, you can use the serializeURL() method to process/modify the url which this service/operation is about to invoke.
Livedocs here
- In: Actionscript | Flex | RPC
- 1 Comment
Many times, while using RemoteObject, instead of processing the result of a remote method invocation in every result handler, you may want a mechanism to process the result before all the result handlers are notified.
convertResultHandler is such a property which was introduced in RemoteObject to process the result before sending it across to all the result handlers.
A sample implementation can be as simple as converting the result to ArrayCollection if its an Array -
public function convertResultHandler(result:*, operation:AbstractOperation):*
{
// convert result to ArrayCollection
if (result is Array)
return new ArrayCollection(result as Array);
return result;
}
Livedocs here
A similar property exists for WebService also.
Livedocs here
- In: Actionscript | Flash Builder | Flex | Flex Builder
- 1 Comment
The new Flash Builder 4 (formerly Flex Builder) is out in its Beta. It has loads of new features. Some of them are -
Developer Productivity – Event Handler generation, Getter/setter generation code indentation, file templates, etc..
Debugging – Contitional Breakpoint, Run to line, etc..
Working with data in a brand new way (Data Centric Development) – Connecting to HTTPService, WEBService, PHP, ColdFusion, BlazeDS, LCDS has been made so easy.
Flex Unit Support.
and many more….
Useful links -
Download – http://labs.adobe.com/technologies/flashbuilder4/
What’s new – http://www.adobe.com/devnet/flex/articles/flex4builder_whatsnew.html
List of Articles – http://sujitreddyg.wordpress.com/flash-builder-4/
Don’t forget to log the issues/enhancement you encounter in the bug-base here – http://bugs.adobe.com/flex
Go ahead, download it and give us feedback to make it better.
- In: Actionscript | Advanced DataGrid | Flex
- 64 Comments
Consider a scenario in which you want to group some data and display it in an AdvancedDataGrid. Now, you open some nodes. And you want to add summaries to the data. Adding summaries means to re-group the data by calling GroupingCollection.refresh(). But the state of open nodes will be lost as new Objects are created for the group nodes while re-grouping.
I’m posting a sample in which the open nodes are preserved.
Open the sample, click on Group data, open some nodes and then click on Add Summary. The nodes which are open will remain open.
Basically, here I’m giving the same UID for the group nodes as they were before (re-grouping). That’s why, the open state is maintained.
Note: This sample will work only if the grouping fields are same for both groupings. It’ll need some tweaking in case the grouping fields are changed.
- In: Actionscript | Advanced DataGrid | Flex
- 16 Comments
AdvancedDataGrid Performance Polls
Posted on: April 7, 2008
- In: Actionscript | Advanced DataGrid | Flex
- 12 Comments
Hello Advanced DataGrid users,
We have added a poll about AdvancedDataGrid’s performance. Please take part in the poll and help us identify the areas which needs improvement.
The poll is hosted at flexpearls
Thanks again.
In this sample, I’m using an Advanced DataGrid as an item renderer within another Advanced DataGrid. This type of configuration is very useful to give a master-detail view. This configuration can be customized more depending on any specific requirements.
Application Source, Renderer source
Thanks to Sreeni for coming up with this.
