As a follow up to the last response, take note of the event.preventDefault(); in the handler for HEADER_RELEASE, and the fact that I don't do a refresh on the ListCollectionView after adding the
sort to it. jason -----Message d'origine----- De : flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] la part de Danko Kozar Envoyé : jeudi 8 mars 2007 11:48 À : flexcoders@yahoogroups.com Objet : [flexcoders] Re: Are other developers hesitant to extend existing classes in Flex? Private methods and variables drive me nuts.. For example, I'd like to make a simple DataGrid change: make headers clickable without refreshing the grid (just toggle a sort icon). (I need this behaviour because I'd like to have a paging DataGrid which only propagates the sort column/direction info to a record- feching routine on a server) So, I try to remove a "collection.refresh();" line from the "sortByColumn()" function, but I can't - because it's private. Then, I try to make a new function called "sortByColumn2" (that's a copy of the first one, but without "refresh" stuff) and alter the "headerReleaseHandler" which calls it, but I can't - cause it's private. And finally, I am trying to add the following code to the constructor (yes, the constructor is public, huh.. :-)) to "neutralize" the event listener: removeEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler, false, EventPriority.DEFAULT_HANDLER); ... but I can't cause "headerReleaseHandler" is private and can't be seen from a subclass! And then, I give up.. :-) My conclussion is that Flex framework classes are not extensible enough and I really can't see a reason. Copying the whole DataGrid class and it's renderer, style, etc. classes isn't a solution, we all agree. If not other reason - it's not the OOP way. So, I'm tempted to go to a "C:\Program Files\Adobe\Flex Builder 2 \Flex SDK 2\frameworks\source\mx\" folder and make a global search and replace on all files in this folder. You guess... replace "private" with "protected"... :-) --- In flexcoders@yahoogroups.com, "Dana Gutride" <[EMAIL PROTECTED]> wrote: > > Recently on this list, somebody said that the Flex framework team has been > surprised at the resistance many developers have to subclassing and they'd > like to understand it better. I'd like to put my 2 cents into this > discussion because maybe we can come up with some good answers. > > I think the ability to extend the existing framework is fabulous, but I find > that I am hesitant to subclass or extend the existing classes. Recently, I > spent several days trying to override the placeSortArrow function on the > datagrid. I ended up ditching my code because there were so many private > variables used by the existing placeSortArrow() function that I would need > to rewrite most of the datagrid.as file. > > I've bought books and searched online for answers, but I haven't found > anything satisfactory yet. Maybe if there were more resources (even if we > had to pay for them), we would find more developers extending the flex > framework. > > Dana >