데이터의 고객 그룹을 사용하는 AdvancedDataGrid가 있습니다. 모든 그룹이 계층 구조에서 동일한 수준에있는 것은 아니며 그룹에는 그룹과 구성원이 모두 포함될 수 있습니다. 정렬 콜백이 있지만 리프 최다 레벨의 그룹을 제외하고는 호출되지 않습니다. 예제를 보려면 아래 코드를 참조하십시오. - 모든 그룹을 확장 한 다음 "생년월일"의 정렬 열을 클릭하여 생년월일 별 역순 정렬을 가져옵니다. (이상하게도, 몇 가지 이유가 있기 때문에 첫 번째 오름차순 정렬이 작동합니다.)Flex AdvancedDataGrid에서 정렬하는 방법 - 콜백이 호출되지 않습니다.
그룹 회원과 동일한 수준으로 그룹화 된 데이터는 호출되지 않습니다.
어떻게 수정합니까?
감사합니다.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white" >
<mx:Script>
<![CDATA[
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
import mx.collections.HierarchicalData;
import mx.utils.ObjectUtil;
private var arrData : Array = [
{ name: "User A", dob: "04/14/1980" },
{ name: "User B", dob: "01/02/1975" },
{ name: "Group A", children: [
{ name: "User E", dob: "09/13/1972" },
{ name: "User F", dob: "11/22/1993" }
]
},
{ name: "Group B", children: [
{ name: "Group B1", children: [
{ name: "User I", dob: "01/23/1984" },
{ name: "User J", dob: "11/10/1948" }
]
},
{ name: "User G", dob: "04/09/1989" },
{ name: "User H", dob: "06/20/1963" }
]
},
{ name: "User C", dob: "12/30/1977" },
{ name: "User D", dob: "10/27/1968" }
];
private function date_sortCompareFunc(itemA:Object, itemB:Object):int
{
if (itemA.hasOwnProperty("dob") && itemB.hasOwnProperty("dob"))
{
var dateA:Date = new Date(Date.parse(itemA.dob));
var dateB:Date = new Date(Date.parse(itemB.dob));
return ObjectUtil.dateCompare(dateA, dateB);
}
else if (itemA.hasOwnProperty("dob"))
{
return 1;
}
else if (itemB.hasOwnProperty("dob"))
{
return -1;
}
return ObjectUtil.stringCompare(itemA.name, itemB.name);
}
private function date_dataTipFunc(item:Object):String
{
if (item.hasOwnProperty("dob"))
{
return dateFormatter.format(item.dob);
}
return "";
}
private function label_dob(item:Object, col:AdvancedDataGridColumn):String
{
var dob:String="";
if(item.hasOwnProperty("dob"))
{
dob=item.dob;
}
return dob;
}
]]>
</mx:Script>
<mx:DateFormatter id="dateFormatter" formatString="MMMM D, YYYY" />
<mx:AdvancedDataGrid id="adgTest" dataProvider="{new HierarchicalData(this.arrData)}" designViewDataType="tree" width="746" height="400">
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Name" dataField="name"/>
<mx:AdvancedDataGridColumn dataField="dob" headerText="Date of birth"
labelFunction="label_dob"
sortCompareFunction="date_sortCompareFunc"
showDataTips="true"
dataTipFunction="date_dataTipFunc" />
</mx:columns>
</mx:AdvancedDataGrid>
</mx:Application>
안녕하세요 Shawn, 귀하의 경우 정렬이 왜 효과가 없다고 판단 했습니까?내가 sortCompareFunction와 비슷한 문제를 해결하기 위해 노력하고있어, 내 데이터가 너와 비슷하다 : 가지가 리프 객체와 정렬 콜백 만 처음 호출했을 때와 동일한 속성 집합을 갖고 있지 않다. Thx, 아이린 –