我有一個數據網格。如何隱藏列的值,如果它是「0」?我必須使用項目渲染器嗎?怎麼樣?有更容易的方法嗎?flex 3數據網格:隱藏值,如果== 0並在布爾值上顯示覆選框
第二件事,如果我有一個布爾列,其值實際上是字符串「true」和「false」,我怎樣才能將它渲染爲不可編輯的複選框?
感謝
我有一個數據網格。如何隱藏列的值,如果它是「0」?我必須使用項目渲染器嗎?怎麼樣?有更容易的方法嗎?flex 3數據網格:隱藏值,如果== 0並在布爾值上顯示覆選框
第二件事,如果我有一個布爾列,其值實際上是字符串「true」和「false」,我怎樣才能將它渲染爲不可編輯的複選框?
感謝
第一個問題:你可以用的DataGridColumn的labelFunction
財產做。
<mx:DataGridColumn dataField="fieldValue" editable="false"
labelFunction="hideZero">
private function hideZero(item:Object, column:DataGridColumn):String
{
if(item.fieldValue == 0)
return "";
return item.fieldValue;
}
第二個問題:在項目渲染器中使用放置。
<mx:DataGridColumn dataField="dValue" editable="false">
<mx:itemRenderer>
<mx:Component>
<mx:CheckBox selected="{data.dValue == 'true'}"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
用適當的數據字段替換dValue。
這是一個改進版本,它不需要明確指定您正在處理的字段。
private function hideZero(item:Object, column:DataGridColumn):String
{
if(item[column.dataField] == 0)
return '';
return item[column.dataField];
}