Flash Builder 不区分大小写排序,带有 AdvancedDatagrid 标题单击



在阅读了我能找到的关于这个主题的所有内容后,我实现了以下sortCompareFunction...

private function value_sortCompareFunc(itemA:Object, itemB:Object):int {
    return ObjectUtil.stringCompare(itemA.value, itemB.value, true);
}

加载数据网格时,数据源已由后端数据库排序(不区分大小写),如下所示。

Ababa, Meaghan
abadilla, Athena
Adams, AJ Jordan
....
....
Lin, Jia
etc...

此时,排序良好且不区分大小写。

但是,当用户单击此列的标题时,我得到。

Lin, Jia
Ababa, Meaghan
abadilla, Athena
Adams, AJ Jordan
etc...

除了名字之外,其余的似乎都是按顺序排列的。我做错了什么吗?这是一个错误吗?

谢谢

John

Datgrid代码(我还没有将sortCompareFunction设置放在其他alpha列中)....

<mx:AdvancedDataGrid id="studentsAdvDG" x="11" y="100" width="754" height="308"change="{isOneStudentSelected()}"
    dataProvider="{studentsAllforDG}" designViewDataType="tree"
    doubleClick="{studentsDG_doubleClickHandler(event)}"
    doubleClickEnabled="true
    horizontalGridLineColor="#CDCBCB" horizontalGridLines="true"
    selectionColor="#A5C5DA" selectionMode="multipleRows"
    styleFunction="studentsAdvDGStyleFunc" textAlign="left"
    useRollOver="false" variableRowHeight="true">
    <mx:columns>
        <mx:AdvancedDataGridColumn width="210" dataField="student"headerText="Student" textAlign="left"
                    sortCompareFunction="value_sortCompareFunc"/>
        <mx:AdvancedDataGridColumn width="40" dataField="projectID"headerText="ID"/>
        <mx:AdvancedDataGridColumn visible="{registrarType != 'SchoolCoordinator'}" width="169" dataField="studentSchool" headerText="School"/>
        <mx:AdvancedDataGridColumn visible="{registrarType == 'SchoolCoordinator' || showTeacherButton.label == 'Show Contact'}" width="169" dataField="teacher" headerText="Teacher"/>
        <mx:AdvancedDataGridColumn visible="{showTeacherButton.label == 'Show Teacher'}" width="185" dataField="studentContact" headerText="Contact"/>
        <mx:AdvancedDataGridColumn width="65" dataField="studentPackageStatus" headerText="Status"/>
        <mx:AdvancedDataGridColumn dataField="studentUploadDate" headerText="Upload"/>
        <mx:AdvancedDataGridColumn visible="false" dataField="studentEmail" headerText="studentEmail"/>
        <mx:AdvancedDataGridColumn visible="false" dataField="studentID" headerText="studentID"/>
        <mx:AdvancedDataGridColumn visible="false" dataField="studentPackageDirty" headerText="studentPackageDirty"/>
        <mx:AdvancedDataGridColumn visible="false" dataField="studentPW" headerText="studentPW"/>
        <mx:AdvancedDataGridColumn visible="false" dataField="studentNeedsvalidation" headerText="studentNeedsvalidation"/>
    </mx:columns>
</mx:AdvancedDataGrid>

您可以将指定列中的 写为 sortable = false。那么,如果您单击标题,则不会有任何效果。请参阅下面的答案

   <mx:AdvancedDataGrid id="myADG"  width="100%" height="100%" dataProvider="{theModel.quiz_member_list}"
                     >
    <mx:columns>
        <mx:AdvancedDataGridColumn headerText="S.No" dataField="sNo" width="55" sortable="false" />
        <mx:AdvancedDataGridColumn headerText="Name" dataField="username" sortable="false" />
    </mx:columns>
   </mx:AdvancedDataGrid>

最新更新