Looks fine. One concern is that you changed an interface. We got burned by changing other interfaces in the past. Remember the IList snafu? But I don't know if there are any custom ISortField implementations in the wild so it may be ok.
-Alex On 9/9/13 5:00 PM, "mkess...@apache.org" <mkess...@apache.org> wrote: >Updated Branches: > refs/heads/develop 0a8f84da5 -> 3188f0141 > > >FLEX-33702: Added column sort type access to the datagrid columns. > > >Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo >Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/3188f014 >Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/3188f014 >Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/3188f014 > >Branch: refs/heads/develop >Commit: 3188f01419a8c9bdf4d4e6859894ca05cbef3d8d >Parents: 0a8f84d >Author: Mark Kessler <kesslerconsult...@gmail.com> >Authored: Mon Sep 9 19:45:53 2013 -0400 >Committer: Mark Kessler <kesslerconsult...@gmail.com> >Committed: Mon Sep 9 20:00:30 2013 -0400 > >---------------------------------------------------------------------- > .../framework/src/mx/collections/ISortField.as | 30 +++++ > .../framework/src/mx/collections/SortField.as | 117 +++++++++++++++++- > .../src/mx/collections/SortFieldCompareTypes.as | 118 ++++++++++++++++++ > .../projects/mx/src/mx/controls/DataGrid.as | 3 + > .../controls/dataGridClasses/DataGridColumn.as | 37 ++++++ > .../spark/src/spark/collections/SortField.as | 119 ++++++++++++++++++- > .../spark/collections/SortFieldCompareTypes.as | 119 +++++++++++++++++++ > .../spark/components/gridClasses/GridColumn.as | 43 ++++++- > 8 files changed, 582 insertions(+), 4 deletions(-) >---------------------------------------------------------------------- > > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/framework/src/mx/collections/ISortField.as >---------------------------------------------------------------------- >diff --git >a/frameworks/projects/framework/src/mx/collections/ISortField.as >b/frameworks/projects/framework/src/mx/collections/ISortField.as >index f0d5ec0..be4bdc8 100644 >--- a/frameworks/projects/framework/src/mx/collections/ISortField.as >+++ b/frameworks/projects/framework/src/mx/collections/ISortField.as >@@ -139,6 +139,22 @@ public interface ISortField > function get numeric():Object; > function set numeric(value:Object):void; > >+ >+ /** >+ * Specifies what compare type will be used for the sortField. This >overrides the default >+ * behavior. >+ * >+ * @default null >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ function get sortCompareType():String; >+ function set sortCompareType(value:String):void; >+ >+ > /** > * True if this <code>ISortField</code> uses a custom comparator >function. > * >@@ -192,5 +208,19 @@ public interface ISortField > * @productversion Flex 4.5 > */ > function reverse():void; >+ >+ >+ /** >+ * This changes the internal compare function used by the ><code>SortField</code> based >+ * on the value of <code>sortCompareType</code>. >+ * >+ * @return true for successfully matched or false for failure to >match the <code>sortCompareType</code>. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ function updateSortCompareType():Boolean; > } > } > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/framework/src/mx/collections/SortField.as >---------------------------------------------------------------------- >diff --git >a/frameworks/projects/framework/src/mx/collections/SortField.as >b/frameworks/projects/framework/src/mx/collections/SortField.as >index 47eed0a..3a5a388 100644 >--- a/frameworks/projects/framework/src/mx/collections/SortField.as >+++ b/frameworks/projects/framework/src/mx/collections/SortField.as >@@ -28,6 +28,7 @@ import mx.managers.SystemManager; > import mx.resources.IResourceManager; > import mx.resources.ResourceManager; > import mx.utils.ObjectUtil; >+import mx.collections.SortFieldCompareTypes; > > [ResourceBundle("collections")] > [Alternative(replacement="spark.collections.SortField", since="4.5")] >@@ -136,7 +137,11 @@ public class SortField extends EventDispatcher >implements ISortField > _caseInsensitive = caseInsensitive; > _descending = descending; > _numeric = numeric; >- _compareFunction = stringCompare; >+ >+ if (updateSortCompareType() == false) >+ { >+ _compareFunction = stringCompare; >+ } > } > > >//------------------------------------------------------------------------ >-- >@@ -404,6 +409,46 @@ public class SortField extends EventDispatcher >implements ISortField > } > } > >+ >+ //--------------------------------- >+ // sortCompareType >+ //--------------------------------- >+ >+ /** >+ * @private >+ */ >+ private var _sortCompareType:String = null; >+ >+ /** >+ * @inheritDoc >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ [Bindable("sortCompareTypeChanged")] >+ public function get sortCompareType():String >+ { >+ return _sortCompareType; >+ } >+ >+ /** >+ * @private >+ */ >+ public function set sortCompareType(value:String):void >+ { >+ if (_sortCompareType != value) >+ { >+ _sortCompareType = value; >+ dispatchEvent(new Event("sortCompareTypeChanged")); >+ } >+ >+ >+ updateSortCompareType(); >+ } >+ >+ > //--------------------------------- > // usingCustomCompareFunction > //--------------------------------- >@@ -458,6 +503,15 @@ public class SortField extends EventDispatcher >implements ISortField > // if the compare function is not already set then we can set it > if (!usingCustomCompareFunction) > { >+ if (_sortCompareType) >+ { >+ //Attempt to set the compare function based on the >sortCompareType >+ if (updateSortCompareType() == true) >+ { >+ return; >+ } >+ } >+ > if (numeric == true) > _compareFunction = numericCompare; > else if (caseInsensitive || numeric == false) >@@ -536,6 +590,67 @@ public class SortField extends EventDispatcher >implements ISortField > descending = !descending; > } > >+ >+ /** >+ * @inheritDoc >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public function updateSortCompareType():Boolean >+ { >+ if (!_sortCompareType) >+ { >+ return false; >+ } >+ >+ >+ //Loopup the sortCompareType by its SortFieldCompareTypes and >set the assocuated compare function. >+ switch(_sortCompareType) >+ { >+ case SortFieldCompareTypes.DATE: >+ { >+ _compareFunction = dateCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.NULL: >+ { >+ _compareFunction = nullCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.NUMERIC: >+ { >+ _compareFunction = numericCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.STRING: >+ { >+ _compareFunction = stringCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.XML: >+ { >+ _compareFunction = xmlCompare; >+ >+ return true; >+ } >+ } >+ >+ >+ return false; >+ } >+ >+ > >//------------------------------------------------------------------------ >-- > // > // Private Methods > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/framework/src/mx/collections/SortFieldCompareTypes.as >---------------------------------------------------------------------- >diff --git >a/frameworks/projects/framework/src/mx/collections/SortFieldCompareTypes.a >s >b/frameworks/projects/framework/src/mx/collections/SortFieldCompareTypes.a >s >new file mode 100644 >index 0000000..f11c682 >--- /dev/null >+++ >b/frameworks/projects/framework/src/mx/collections/SortFieldCompareTypes.a >s >@@ -0,0 +1,118 @@ >+///////////////////////////////////////////////////////////////////////// >/////// >+// >+// Licensed to the Apache Software Foundation (ASF) under one or more >+// contributor license agreements. See the NOTICE file distributed with >+// this work for additional information regarding copyright ownership. >+// The ASF licenses this file to You under the Apache License, Version >2.0 >+// (the "License"); you may not use this file except in compliance with >+// the License. You may obtain a copy of the License at >+// >+// http://www.apache.org/licenses/LICENSE-2.0 >+// >+// Unless required by applicable law or agreed to in writing, software >+// distributed under the License is distributed on an "AS IS" BASIS, >+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >implied. >+// See the License for the specific language governing permissions and >+// limitations under the License. >+// >+///////////////////////////////////////////////////////////////////////// >/////// >+ >+package mx.collections >+{ >+ >+ /** >+ * The SortFieldCompareTypes class defines the valid constant values >for the >+ * <code>sortCompareType</code> property of the ><code>SortField</code> and <code>GridColumn</code>. >+ * >+ * <p>Designed to be used from a DataGrids column, but can be >referenced directly on the </code>SortField</code></p> >+ * >+ * <p>Use the constants in ActionsScript, as the following example >shows: </p> >+ * <pre> >+ * column.sortCompareType = SortFieldCompareTypes.NUMERIC; >+ * </pre> >+ * >+ * <p>In MXML, use the String value of the constants, >+ * as the following example shows:</p> >+ * <pre> >+ * <s:GridColumn sortCompareType="numeric" /> >+ * </pre> >+ * >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public final class SortFieldCompareTypes >+ { >+ /** >+ * Constructor. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.1 >+ * @playerversion AIR 3.4 >+ * @productversion Flex 4.10 >+ */ >+ public function SortFieldCompareTypes() >+ { >+ } >+ >+ //---------------------------------------- >+ // Class constants >+ //---------------------------------------- >+ >+ /** >+ * Represents the dateCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const DATE:String = "date"; >+ >+ >+ /** >+ * Represents the nullCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const NULL:String = "null"; >+ >+ >+ /** >+ * Represents the numericCompare inside a SortField. This also >is used for boolean comparisons. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const NUMERIC:String = "numeric"; >+ >+ >+ /** >+ * Represents the stringCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const STRING:String = "string"; >+ >+ >+ /** >+ * Represents the xmlCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const XML:String = "xml"; >+ } >+} >\ No newline at end of file > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/mx/src/mx/controls/DataGrid.as >---------------------------------------------------------------------- >diff --git a/frameworks/projects/mx/src/mx/controls/DataGrid.as >b/frameworks/projects/mx/src/mx/controls/DataGrid.as >index ff8f008..53ddbd4 100644 >--- a/frameworks/projects/mx/src/mx/controls/DataGrid.as >+++ b/frameworks/projects/mx/src/mx/controls/DataGrid.as >@@ -3985,7 +3985,10 @@ public class DataGrid extends DataGridBase >implements IIMESupport > s = new Sort; > > if (!f) >+ { > f = new SortField(c.dataField); >+ f.sortCompareType = c.sortCompareType; >+ } > > > c.sortDescending = desc; > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as >---------------------------------------------------------------------- >diff --git >a/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as > >b/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as >index 2411cbb..41052b0 100644 >--- >a/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as >+++ >b/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as >@@ -1360,6 +1360,43 @@ public class DataGridColumn extends >CSSStyleDeclaration implements IIMESupport > dispatchEvent(new Event("sortCompareFunctionChanged")); > } > >+ >+ //---------------------------------- >+ // sortCompareType >+ //---------------------------------- >+ >+ /** >+ * @private >+ */ >+ private var _sortCompareType:String; >+ >+ /** >+ * @inheritDoc >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ [Bindable("sortCompareTypeChanged")] >+ public function get sortCompareType():String >+ { >+ return _sortCompareType; >+ } >+ >+ /** >+ * @private >+ */ >+ public function set sortCompareType(value:String):void >+ { >+ if (_sortCompareType != value) >+ { >+ _sortCompareType = value; >+ dispatchEvent(new Event("sortCompareTypeChanged")); >+ } >+ } >+ >+ > //---------------------------------- > // visible > //---------------------------------- > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/spark/src/spark/collections/SortField.as >---------------------------------------------------------------------- >diff --git a/frameworks/projects/spark/src/spark/collections/SortField.as >b/frameworks/projects/spark/src/spark/collections/SortField.as >index 546a695..cdb81a2 100644 >--- a/frameworks/projects/spark/src/spark/collections/SortField.as >+++ b/frameworks/projects/spark/src/spark/collections/SortField.as >@@ -36,6 +36,8 @@ import mx.styles.AdvancedStyleClient; > import mx.utils.ObjectUtil; > > import spark.globalization.SortingCollator; >+import spark.collections.SortFieldCompareTypes; >+ > > [ResourceBundle("collections")] > >@@ -197,7 +199,11 @@ public class SortField extends AdvancedStyleClient >implements ISortField > _name = name; > _descending = descending; > _numeric = numeric; >- _compareFunction = stringCompare; >+ >+ if (updateSortCompareType() == false) >+ { >+ _compareFunction = stringCompare; >+ } > } > > >//------------------------------------------------------------------------ >-- >@@ -429,6 +435,47 @@ public class SortField extends AdvancedStyleClient >implements ISortField > } > } > >+ >+ //--------------------------------- >+ // sortCompareType >+ //--------------------------------- >+ >+ // TODO: Currently the sortfield is independant of the column. Add >in way to check when column._sortCompareType changes. >+ /** >+ * @private >+ */ >+ private var _sortCompareType:String = null; >+ >+ /** >+ * @inheritDoc >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ [Bindable("sortCompareTypeChanged")] >+ public function get sortCompareType():String >+ { >+ return _sortCompareType; >+ } >+ >+ /** >+ * @private >+ */ >+ public function set sortCompareType(value:String):void >+ { >+ if (_sortCompareType != value) >+ { >+ _sortCompareType = value; >+ dispatchEvent(new Event("sortCompareTypeChanged")); >+ } >+ >+ >+ updateSortCompareType(); >+ } >+ >+ > //--------------------------------- > // usingCustomCompareFunction > //--------------------------------- >@@ -552,6 +599,15 @@ public class SortField extends AdvancedStyleClient >implements ISortField > // if the compare function is not already set then we can set it > if (!usingCustomCompareFunction) > { >+ if (_sortCompareType) >+ { >+ //Attempt to set the compare function based on the >sortCompareType >+ if (updateSortCompareType() == true) >+ { >+ return; >+ } >+ } >+ > if (numeric == true) > _compareFunction = numericCompare; > else if (numeric == false) >@@ -630,6 +686,67 @@ public class SortField extends AdvancedStyleClient >implements ISortField > descending = !descending; > } > >+ >+ /** >+ * @inheritDoc >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public function updateSortCompareType():Boolean >+ { >+ if (!_sortCompareType) >+ { >+ return false; >+ } >+ >+ >+ //Loopup the sortCompareType by its SortFieldCompareTypes and >set the assocuated compare function. >+ switch(_sortCompareType) >+ { >+ case SortFieldCompareTypes.DATE: >+ { >+ _compareFunction = dateCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.NULL: >+ { >+ _compareFunction = nullCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.NUMERIC: >+ { >+ _compareFunction = numericCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.STRING: >+ { >+ _compareFunction = stringCompare; >+ >+ return true; >+ } >+ >+ case SortFieldCompareTypes.XML: >+ { >+ _compareFunction = xmlCompare; >+ >+ return true; >+ } >+ } >+ >+ >+ return false; >+ } >+ >+ > >//------------------------------------------------------------------------ >-- > // > // Private Properties > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/spark/src/spark/collections/SortFieldCompareTypes.as >---------------------------------------------------------------------- >diff --git >a/frameworks/projects/spark/src/spark/collections/SortFieldCompareTypes.as > >b/frameworks/projects/spark/src/spark/collections/SortFieldCompareTypes.as >new file mode 100644 >index 0000000..98e55f3 >--- /dev/null >+++ >b/frameworks/projects/spark/src/spark/collections/SortFieldCompareTypes.as >@@ -0,0 +1,119 @@ >+///////////////////////////////////////////////////////////////////////// >/////// >+// >+// Licensed to the Apache Software Foundation (ASF) under one or more >+// contributor license agreements. See the NOTICE file distributed with >+// this work for additional information regarding copyright ownership. >+// The ASF licenses this file to You under the Apache License, Version >2.0 >+// (the "License"); you may not use this file except in compliance with >+// the License. You may obtain a copy of the License at >+// >+// http://www.apache.org/licenses/LICENSE-2.0 >+// >+// Unless required by applicable law or agreed to in writing, software >+// distributed under the License is distributed on an "AS IS" BASIS, >+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >implied. >+// See the License for the specific language governing permissions and >+// limitations under the License. >+// >+///////////////////////////////////////////////////////////////////////// >/////// >+ >+package spark.collections >+{ >+ >+ /** >+ * The SortFieldCompareTypes class defines the valid constant values >for the >+ * <code>sortCompareType</code> property of the ><code>SortField</code> and <code>GridColumn</code>. >+ * >+ * <p>Designed to be used from a DataGrids column, but can be >referenced directly on the </code>SortField</code></p> >+ * >+ * <p>Use the constants in ActionsScript, as the following example >shows: </p> >+ * <pre> >+ * column.sortCompareType = SortFieldCompareTypes.NUMERIC; >+ * </pre> >+ * >+ * <p>In MXML, use the String value of the constants, >+ * as the following example shows:</p> >+ * <pre> >+ * <s:GridColumn sortCompareType="numeric" /> >+ * </pre> >+ * >+ * @see spark.components.gridClasses.GridColumn#sortCompareType >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public final class SortFieldCompareTypes >+ { >+ /** >+ * Constructor. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.1 >+ * @playerversion AIR 3.4 >+ * @productversion Flex 4.10 >+ */ >+ public function SortFieldCompareTypes() >+ { >+ } >+ >+ //---------------------------------------- >+ // Class constants >+ //---------------------------------------- >+ >+ /** >+ * Represents the dateCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const DATE:String = "date"; >+ >+ >+ /** >+ * Represents the nullCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const NULL:String = "null"; >+ >+ >+ /** >+ * Represents the numericCompare inside a SortField. This also >is used for boolean comparisons. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const NUMERIC:String = "numeric"; >+ >+ >+ /** >+ * Represents the stringCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const STRING:String = "string"; >+ >+ >+ /** >+ * Represents the xmlCompare inside a SortField. >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ public static const XML:String = "xml"; >+ } >+} >\ No newline at end of file > >http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/3188f014/frameworks/p >rojects/spark/src/spark/components/gridClasses/GridColumn.as >---------------------------------------------------------------------- >diff --git >a/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as > >b/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as >index d686d16..642b8b8 100644 >--- >a/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as >+++ >b/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as >@@ -1439,7 +1439,44 @@ public class GridColumn extends EventDispatcher > > dispatchChangeEvent("sortCompareFunctionChanged"); > } >- >+ >+ >+ //---------------------------------- >+ // sortCompareType >+ //---------------------------------- >+ >+ /** >+ * @private >+ */ >+ private var _sortCompareType:String; >+ >+ /** >+ * @inheritDoc >+ * >+ * @langversion 3.0 >+ * @playerversion Flash 11.8 >+ * @playerversion AIR 3.8 >+ * @productversion Flex 4.11 >+ */ >+ [Bindable("sortCompareTypeChanged")] >+ public function get sortCompareType():String >+ { >+ return _sortCompareType; >+ } >+ >+ /** >+ * @private >+ */ >+ public function set sortCompareType(value:String):void >+ { >+ if (_sortCompareType != value) >+ { >+ _sortCompareType = value; >+ dispatchEvent(new Event("sortCompareTypeChanged")); >+ } >+ } >+ >+ > //---------------------------------- > // sortDescending > //---------------------------------- >@@ -1534,7 +1571,9 @@ public class GridColumn extends EventDispatcher > { > sortField = new SortField(dataField); > } >- >+ >+ sortField.sortCompareType = column._sortCompareType; >+ > var cF:Function = null; > if (_sortCompareFunction != null) > { >