[ 
https://issues.apache.org/jira/browse/FLEX-33702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14031358#comment-14031358
 ] 

Mark Kessler commented on FLEX-33702:
-------------------------------------

adding a rough test app...

<?xml version="1.0" encoding="utf-8"?>
<!---
   Test application
-->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx"
               creationComplete="onCreationComplete();"> 

    <fx:Script>
        <![CDATA[
        import mx.collections.ArrayCollection;


        //----------------------------------------
        //  Variables
        //----------------------------------------
        [Bindable]
        protected var acSortTypes:ArrayCollection = new ArrayCollection();
        [Bindable]
        protected var acTestData:ArrayCollection = new ArrayCollection();


        //----------------------------------------
        //  Event handlers
        //----------------------------------------

        /**
        *  Change event handler for the SortTypes dropdownlist.
        */
        protected function ddlSortTypes_OnChange():void
        {
            acTestData.sort = null;
            acTestData.refresh();

            dgTestSpark.columnHeaderGroup.visibleSortIndicatorIndices = null;
        }


        /**
        *  CreationComplete event handler.
        */
        protected function onCreationComplete():void
        {
            //Setup sort compare types.
            //URL: 
http://flex.apache.org/asdoc/spark/collections/SortFieldCompareTypes.html
            acSortTypes.addItem({label:"string"});
            acSortTypes.addItem({label:"numeric"});
            acSortTypes.addItem({label:"date"});
            acSortTypes.addItem({label:"null"});
            acSortTypes.addItem({label:"xml"});


            //Setup test data.
            acTestData.addItem({id:1, title:"Test1", mixed:1, 
calendar:"01/01/2014"});
            acTestData.addItem({id:2, title:"Test2", mixed:2, 
calendar:"01/02/2014"});
            acTestData.addItem({id:3, title:"Test3", mixed:3, 
calendar:"01/03/2014"});
            acTestData.addItem({id:4, title:"Test4", mixed:4, 
calendar:"01/04/2014"});
            acTestData.addItem({id:5, title:"Test5", mixed:5, 
calendar:"01/05/2014"});
            acTestData.addItem({id:6, title:"Test6", mixed:"6", 
calendar:"01/06/2014"});
            acTestData.addItem({id:7, title:"Test7", mixed:"7", 
calendar:"01/07/2014"});
            acTestData.addItem({id:8, title:"Test8", mixed:"8", 
calendar:"01/08/2014"});
            acTestData.addItem({id:9, title:"Test9", mixed:"9", 
calendar:"01/09/2014"});
            acTestData.addItem({id:10, title:"Test10", mixed:"10", 
calendar:"01/10/2014"});
            acTestData.addItem({id:11, title:"Test11", mixed:true, 
calendar:"02/11/2014"});
            acTestData.addItem({id:12, title:"Test12", mixed:false, 
calendar:"02/12/2014"});
            acTestData.addItem({id:13, title:"Test13", mixed:"", 
calendar:"02/13/2014"});
            acTestData.addItem({id:14, title:"Test14", mixed:"", 
calendar:"02/14/2014"});
            acTestData.addItem({id:15, title:"Test15", mixed:true, 
calendar:"02/15/2014"});
            acTestData.addItem({id:16, title:"Test16", mixed:false, 
calendar:"02/16/2014"});
            acTestData.addItem({id:17, title:"Test17", mixed:"1.7", 
calendar:"02/17/2014"});
            acTestData.addItem({id:18, title:"Test18", mixed:"1.8", 
calendar:"02/18/2014"});
            acTestData.addItem({id:19, title:"Test19", mixed:null, 
calendar:"02/19/2014"});
            acTestData.addItem({id:20, title:"Test20", mixed:null, 
calendar:"02/20/2014"});
        }


        ]]>
    </fx:Script>

    <s:layout>
        <s:VerticalLayout horizontalAlign="center" verticalAlign="middle" 
gap="30" />
    </s:layout>

    
    <!-- The sort type list -->
    <s:DropDownList id="ddlSortTypes" dataProvider="{acSortTypes}" 
requireSelection="true" change="ddlSortTypes_OnChange();" />


    <s:HGroup gap="20">

        <!-- Spark datagrid example -->
        <s:DataGrid id="dgTestSpark" dataProvider="{acTestData}" width="400">
            <s:columns>
                <mx:ArrayList>
                    <s:GridColumn dataField="id" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                    <s:GridColumn dataField="title" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                    <s:GridColumn dataField="mixed" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                    <s:GridColumn dataField="calendar" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                </mx:ArrayList>
            </s:columns>
        </s:DataGrid>


        <!-- MX datagrid example -->
        <mx:DataGrid id="dgTestMX" dataProvider="{acTestData}" width="400">
            <mx:columns>
                <mx:DataGridColumn dataField="id" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                <mx:DataGridColumn dataField="title" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                <mx:DataGridColumn dataField="mixed" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                <mx:DataGridColumn dataField="calendar" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
            </mx:columns>
        </mx:DataGrid>

        
        <!-- MX advanced datagrid example -->
        <mx:AdvancedDataGrid id="adgTestMX" dataProvider="{acTestData}" 
width="400">
            <mx:columns>
                <mx:AdvancedDataGridColumn  dataField="id" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                <mx:AdvancedDataGridColumn  dataField="title" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                <mx:AdvancedDataGridColumn  dataField="mixed" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
                <mx:AdvancedDataGridColumn  dataField="calendar" 
sortCompareType="{ddlSortTypes.selectedItem.label}" />
            </mx:columns>
        </mx:AdvancedDataGrid>

    </s:HGroup>

</s:Application>


> DataGrid columns unable to specify sorting internal compare functions used.
> ---------------------------------------------------------------------------
>
>                 Key: FLEX-33702
>                 URL: https://issues.apache.org/jira/browse/FLEX-33702
>             Project: Apache Flex
>          Issue Type: Improvement
>          Components: Advanced Data Grid, mx: DataGrid, Spark: DataGrid
>    Affects Versions: Apache Flex 4.10.0
>            Reporter: Mark Kessler
>            Assignee: Mark Kessler
>            Priority: Minor
>             Fix For: Apache Flex 4.11.0
>
>
> The DataGrid columns do not allow selecting which type of internal compare 
> function that is used to sort the columns.  So inconsistent data formatting 
> causes it to choose what it thinks it the best formatting.  There should be 
> an easy way to select it right from the columns properties.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to