|
Jeremy,
Actually, I was not
suggesting to rewrite UI/datagrid - I was suggesting not to use tree
- datagrid would work fine the way it is now. The changes to
datagrid would be very "localized": just sorting to take in
consideration the hierarchy (essentially making sure you have custom sort
function based on parent preceding column sort), minor changes like
making sure first column locking works, etc. In either case the code is based on
datagrid and not on the tree, with opening/closing of the nodes based upon
filtering of the data, add custom renderer to the first column to paint /
outdent first label and integrate it with filter function.
Quick and dirty approach allows
you to do most of that code inline within the mxml/data definition itself doing
the above code explicitly.
Thank you,
Anatole
PS. Obviously, disabling sorting or column
reordering would further simplify the task.
----- Original Message -----
Sent: Saturday, April 22, 2006 11:14
PM
Subject: Re: [flexcoders] How would I do
something like this....
well, just flip
thru my gridtree component (http://tinyurl.com/grcfs) developed two
months ago (which is still in a mess), it's around 2000 lines of code (after
refactoring it three times) and lot of algorithm behind to handle following
function:
addNode removeNode cutNode copyNode pasteNode indent/outdent
code
I think the first methods Anatole mentioned will definitely be a
b***h to tackel with, for the nature of List-based component is a little bit
tricky then it looks (all the list items are dynamically generated and draw on
the screen, this will cause some trouble)
I'm currently implementing
gridtree using item renderer for the first column, it's pretty much the same
work to extends gridbase and "inject" the tree grid code into it so the API
would be more compatible, by using this method I could easily feed a non-xml
structure (ie:resultset from java/php) to the component and let it draw the
hierarchy and set indent/outdent of each node.
now I'm thinking maybe I
should draw those lines and plus sign instead of a simple arrowhead, so it's
more like VS2005 :-)
FYI, the component took a whole weekend for
prototyping and concept-proofing, *but*, it took almost one and a half
month for debugging and refactoring to stablize the code and become really
usable in the on-going product/project.
originally I want to
open-source the component but later on this become one of my assigned
day-job project (so I can fulltime developing it with the approval of my
employer), but anyway, I would love to answer any related
questions.
jeremy.
On 4/23/06, Anatole
Tartakovsky <[EMAIL PROTECTED]> wrote:
Depends on your requirements:
For generic case it is 3 step
process:
1. Wait for beta 3 that supposely comes with
the source code.
2. Study the code for data grid header,
treeview, datagrid, etc
3. Write your own code for the
control inherited on the top of BaseGrid, with automatic wrapper
for the first column - 1500-2000 lines in total to support generic
case
For quick and dirty :
Create first column as cell renderer. I believe
I posted code in this group for Flex 1.5 tree cell renderer that allowed to
add nodes lines to the regular tree - you just paint it within item - still
about 200 lines of code for core functionality, another 100 lines for
cascade retrieve/grouped sort on the header clicks, 2-3 days of work
altogether
Have not seen anything in the public domain,
just few developed "for hire" in consulting gigs.
HTH,
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
SPONSORED LINKS
YAHOO! GROUPS LINKS
|