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 > > > > > >