문제

플렉스에서 AdvancedDatGrid, 우리는 많은 그룹화를 수행하고 있습니다.대부분의 열은 부모와 자식에 대해 동일하므로 MAX, MIN, AVG가 아닌 그룹의 첫 번째 값을 요약으로 표시하고 싶습니다.

이 코드는 숫자 값에서는 작동하지만 텍스트 값에서는 작동하지 않습니다(주석 처리된 줄이 없으면 NaN을 얻습니다).

private function firstValue(itr:IViewCursor,field:String, str:String=null):Object 
{
  //if(isNaN(itr.current[field])) return 0  //Theory: Only works on Numeric Values?
  return itr.current[field]
}      

XML:

(mx:GroupingField name="Offer")
  (mx:summaries)
    (mx:SummaryRow summaryPlacement="group")
      (mx:fields)
        (mx:SummaryField dataField="OfferDescription"   label="OfferDescription" summaryFunction="firstValue"/)
        (mx:SummaryField dataField="OfferID"   label="OfferID" summaryFunction="firstValue"/)
        (/mx:fields)
    (/mx:SummaryRow)
  (/mx:summaries)
(/mx:GroupingField)

OfferID님의 작업이 맞습니다. OfferDescription그렇지 않습니다.

도움이 되었습니까?

해결책

summaryFunction이 숫자를 반환해야 하는 것 같습니다.에 따르면 Adobe 버그 추적기, 문서의 버그입니다.

Sameer Bhatt의 의견:

문서에서는 Sum, Min, Max, Avg에 대한 내장 요약 기능 및 요약 데이터가 포함 된 숫자를 반환합니다.

그래서 사람들은 아이디어를 얻을 수 있지만 반환 유형이 숫자여야 한다는 점을 분명히 언급해야 한다는 점에 동의합니다.

우리는 나중에 더 많은 것을 쉽게 추가할 수 있도록 객체로 유지했습니다.

다른 팁

표시할 문자열을 가져와야 하는 경우 AdvancedDataGridColumn에서 label함수를 사용하세요.그러면 요약 행이 렌더링됩니다.

(mx:AdvancedDataGridColumn headerText="Comment" width="140" dataField="comment" labelFunction="formatColumn" /)

            private function getNestedItem(item:Object):Object {

                try {
                    if (item.undefined[0]) {
                        item = getNestedItem(item.undefined[0]);
                    }
                } catch (e:Error) {
                    // leave item alone
                }
                return item;
            }           
            private function formatColumn(item:Object, column:AdvancedDataGridColumn):String {

                var output:String;
                // If this is a summary row
                if (item.GroupLabel) {

                    item = getNestedItem(item);
                } 

                switch (column.dataField) {

                    case 'comment':

                        return item.comment;


                }

            }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top