2014-04-22 2 views
0

일부 열이있는 dataGrid가 있는데, 그 열은 일반적으로 고정 된 dataField를 가지고 있습니다. 모든 것이 정상적으로 작동합니다.DataField를 즉시 변경하는 방법은 무엇입니까?

그러나 특수한 상황에서는 해당 dataField를 다른 것으로 변경해야하지만 어떻게해야할지 모르겠습니다.

나는 데이터가 채워지는 순간을 포착하여 데이터 필드를 가로 채서 원하는대로 변경하려고 시도했지만 지금까지는 행운이 없습니다.

어떤 아이디어?

+0

문제를 조금 명확하게 할 수 있습니까? 전체 열에 대해 사용되는 dataField를 변경하거나 항목 값을 기준으로 값을 변경하려고합니까? –

답변

0

정확히 무엇을하려고하는지에 따라 나는 세 가지 방법으로 생각할 수 있습니다.

1)) 표시 할 열을 선택하기 위해 버튼과 같은 (한 번에 전체 열을 교환하려는 경우, 당신은 GridColumn의 데이터 필드와 HeaderText에 필드 값을 설정할 수 있습니다

<s:GridColumn id="fieldToChange" dataField="name" headerText="Name"> ... protected function changeToRank(event:MouseEvent):void { fieldToChange.dataField = "rank"; fieldToChange.headerText = "Rank"; }

을 당신이 상태를 사용하는 경우 위의 유사

2), 각 상태에 대한 데이터 필드와 HeaderText에 지정할 수 있습니다 : 당신이 표시되는 내용을 변경하려는 경우

<s:GridColumn dataField.nameState="name" dataField.rankState="rank" ...>

3)는 노래 데이터 항목의 일부 기준에 따라 행을 표시하려면 labelFunction을 사용하여 표시 할 항목을 설정하십시오.

<s:GridColumn labelFunction="nameOrRank" ...> ... protected function nameOrRank(item:Object):String { if (item.foo == xyzzy) return item.name; else return item.rank; }