Gordon:

Per your request I have filed a bug report. It can be found here;

https://bugs.adobe.com/jira/browse/ASC-3042

Paul
--- In flexcoders@yahoogroups.com, "aceoohay" <[EMAIL PROTECTED]> wrote:
>
> Gordon, et al:
> 
> Here is a simple test that will show the problem;
> 
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; 
> layout="absolute"
>        creationComplete="initApp()">
> <mx:Script>
>       <![CDATA[
>               import mx.collections.ArrayCollection;
>               import mx.controls.Alert;
>               [Bindable] public var acData:ArrayCollection = new 
> ArrayCollection;
>               private function initApp():void
>               {
>                       acData.addItem
> ({col1:null,col2:null,col3:null,col4:null});
>                       acData.addItem({col1:1,col2:new Date
> (),col3:true,col4:"A"});
>                       acData.addItem
> ({col1:null,col2:null,col3:null,col4:null});
>                       acData.addItem({col1:2,col2:new Date
> (),col3:null,col4:"B"});
>                       acData.addItem
> ({col1:null,col2:null,col3:null,col4:null});
>                       acData.addItem({col1:3,col2:new Date
> (),col3:true,col4:"C"});
>                       acData.addItem
> ({col1:null,col2:null,col3:null,col4:null});
>                       acData.addItem({col1:4,col2:new Date
> (),col3:null,col4:"D"});
>                       acData.addItem
> ({col1:null,col2:null,col3:null,col4:null});
>                       acData.addItem({col1:5,col2:new Date
> (),col3:true,col4:"E"});
>                       acData.addItem
> ({col1:null,col2:null,col3:null,col4:null});
>                       acData.addItem({col1:6,col2:new Date
> (),col3:false,col4:"F"});
>                       acData.addItem
> ({col1:null,col2:null,col3:null,col4:null});
>                       dgSortTest.dataProvider = acData;
>               }
>       ]]>
> </mx:Script>
>               
>       <mx:DataGrid id="dgSortTest" x="26" y="10">
>               <mx:columns>
>                       <mx:DataGridColumn headerText="Column 1" 
> dataField="col1"/>
>                       <mx:DataGridColumn headerText="Column 2" 
> dataField="col2"/>
>                       <mx:DataGridColumn headerText="Column 3" 
> dataField="col3"/>
>                       <mx:DataGridColumn headerText="Column 4" 
> dataField="col4"/>
>               </mx:columns>
>       </mx:DataGrid>
>       
> </mx:Application>
> 
> --- In flexcoders@yahoogroups.com, "Gordon Smith" <gosmith@> wrote:
> >
> > Your use case seem very reasonable to me. In this particular case 
I
> > disagree with my esteemed colleague Alex (who sits across from 
> me)... I
> > think our default sorting routines should handle null values. So 
> please
> > file this as a bug at http://bugs.adobe.com/flex and feel free to
> > mention that I consider it a bug.
> >  
> > However, I agree with Alex that it probably will not get fixed in 
> time
> > for the Flex 3 release, as the bar is currently extremely high for
> > making changes at this point. We've got to stabilize the release 
> and get
> > it out! So you'll need to use a workaround for now.
> >  
> > Gordon Smith
> > Adobe Flex SDK Team
> > 
> > ________________________________
> > 
> > From: flexcoders@yahoogroups.com 
> [mailto:[EMAIL PROTECTED] On
> > Behalf Of aceoohay
> > Sent: Saturday, December 01, 2007 2:38 PM
> > To: flexcoders@yahoogroups.com
> > Subject: [flexcoders] Re: If Flex is open source, how do we go 
about
> > changing the language?
> > 
> > 
> > 
> > Gordon:
> > 
> > This thread was not intended as a technical thread, which is why 
I 
> > didn't include the details about the problem. I documented the 
> > problem in the following post;
> > 
> > http://tech.groups.yahoo.com/group/flexcoders/message/95131
> > <http://tech.groups.yahoo.com/group/flexcoders/message/95131> 
> > 
> > The only responses I got seemed to indicate that the behavior was 
> by 
> > design, as opposed to a bug.
> > 
> > Yes, it does throw a runtime error.
> > 
> > I just signed up over at the Adobe bugs site.
> > 
> > Paul
> > 
> > --- In flexcoders@yahoogroups.com <mailto:flexcoders%
> 40yahoogroups.com>
> > , "Gordon Smith" <gosmith@> wrote:
> > >
> > > > it gets confused when there are nulls in date, numeric, or 
> boolean
> > > fields
> > > 
> > > > this is by design
> > > 
> > > I doubt that we designed this code to intentionally get 
> > confused. : ) It
> > > sounds like we're simply not properly handling null field 
values 
> > when
> > > sorting.
> > > 
> > > What do you mean by "get confused"? Does it throw an RTE? Do 
the 
> > nulls
> > > cause incorrect sorting of the non-null values? Do the nulls 
not 
> > sort
> > > together? How kind of sorting behavior do you think should 
occur 
> > when
> > > there are null values? Should they sort before or after other 
> > values?
> > > Please file the bug at htp://bugs.adobe.com/flex.
> > <htp://bugs.adobe.com/flex.> 
> > > 
> > > BTW, the Flex SDK is not yet open-source, but it will be soon.
> > > 
> > > Gordon Smith
> > > Adobe Flex SDK Team
> > > 
> > > ________________________________
> > > 
> > > From: flexcoders@yahoogroups.com <mailto:flexcoders%
> 40yahoogroups.com>
> > 
> > [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%
> 40yahoogroups.com>
> > ] On
> > > Behalf Of aceoohay
> > > Sent: Friday, November 30, 2007 9:33 PM
> > > To: flexcoders@yahoogroups.com <mailto:flexcoders%
> 40yahoogroups.com> 
> > > Subject: [flexcoders] If Flex is open source, how do we go about
> > > changing the language?
> > > 
> > > 
> > > 
> > > I just ran across what I consider a significant deficiency in 
> Flex. 
> > > To correct this problem would require an addition of two 
> attributes 
> > > to the mx:DataGridColumn class.
> > > 
> > > I could make a change to my version of the language, or perhaps 
I 
> > > could create an inherited class. However, I feel strongly that 
> the 
> > > problem is so fundamental that it should be changed in the 
> > language. 
> > > How do I go about making this happen?
> > > 
> > > The problem is this;
> > > 
> > > It appears that when sorting a DataGrid by clicking a column 
that 
> > > Flex currently does its best to determine the data type and 
sorts 
> > > based on that data type. The problem is that it gets confused 
> when 
> > > there are nulls in date, numeric, or boolean fields. When it 
gets 
> > > confused it ralph's on its shoes (blows up). Based on my 
> research, 
> > > including reading a bit of the file sortField.as, this is by 
> design.
> > > 
> > > There is a way around it but it requires instantiating a 
compare 
> > > function for each column that might get a null, and might be 
one 
> of 
> > > non string data types. The workaround is to create a function, 
> and 
> > > use the "sortCompareFunction" attribute to call a that 
function. 
> > > There is even a kludgier workaround to make the function 
generic 
> by 
> > > using the "headerRelease" attribute of the DataGrid to update a 
> > > public variable with the column number.
> > > 
> > > Since it seems as though this is an ubiquitous problem, it 
should 
> > be 
> > > solved in the language itself. The best approach that I came up 
> > with 
> > > is to have two new attributes for the mx:DataGridColumn;
> > > 
> > > sortDataType - Basically specify the type of data contained in 
> the 
> > > column that would be honored by the sort routine irrespective 
of 
> > the 
> > > values contained in the column. Values would be any valid data 
> type.
> > > 
> > > sortNullCollatingSequence - This would define whether nulls get 
> > > sorted to the top or bottom of the list. Values would be low - 
> > which 
> > > would indicate that nulls would sort lower than the lowest 
normal 
> > > value, and high - which would indicate that nulls would sort 
> higher 
> > > than the highest normal value.
> > > 
> > > This is one possible solution, there may be better ones but in 
my 
> > > opinion the current method should be improved. I would like to 
> see 
> > it 
> > > implemented quickly as I believe it is a serious problem.
> > > 
> > > How do I go about getting this taken seriously, and not 
assigned 
> > > an "enhancement request number" and never looked at again?
> > > 
> > > Paul
> > >
> >
>


Reply via email to