在阅读了我能找到的关于这个主题的所有内容后,我实现了以下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>