Apache flex Flash Builder不区分大小写排序,带有AdvancedDatagrid标题单击
在阅读了关于这个主题的所有内容后,我实现了以下排序比较Apache flex Flash Builder不区分大小写排序,带有AdvancedDatagrid标题单击,apache-flex,flash-builder,case-sensitive,advanceddatagrid,Apache Flex,Flash Builder,Case Sensitive,Advanceddatagrid,在阅读了关于这个主题的所有内容后,我实现了以下排序比较 private function value_sortCompareFunc(itemA:Object, itemB:Object):int { return ObjectUtil.stringCompare(itemA.value, itemB.value, true); } 加载datagrid时,后端数据库对数据源进行了不区分大小写的排序,如下所示 Ababa, Meaghan abadilla, Athena Adams,
private function value_sortCompareFunc(itemA:Object, itemB:Object):int {
return ObjectUtil.stringCompare(itemA.value, itemB.value, true);
}
加载datagrid时,后端数据库对数据源进行了不区分大小写的排序,如下所示
Ababa, Meaghan
abadilla, Athena
Adams, AJ Jordan
....
....
Lin, Jia
etc...
在这一点上,排序是好的,不区分大小写
但是,当用户单击此列的标题时,我会看到
Lin, Jia
Ababa, Meaghan
abadilla, Athena
Adams, AJ Jordan
etc...
除了第一个名字,其余的似乎都被正确地排序了。我做错什么了吗?这是虫子吗
谢谢
约翰
Datgrid代码我还没有将SORTCOMPAREUNNCION设置放在其他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>
但我确实希望在单击标题时对dg进行排序。我只希望它不区分大小写。我在你的回答中遗漏了什么吗?问题是第一行出现了故障。