我有一个数据网格。如果它是“0”,我如何隐藏列的值?我必须使用项目渲染器吗?如何?有没有更简单的方法?
第二件事,如果我有一个布尔列,其值实际上是字符串“true”和“false”,我如何将它呈现为不可编辑的复选框?
谢谢
我有一个数据网格。如果它是“0”,我如何隐藏列的值?我必须使用项目渲染器吗?如何?有没有更简单的方法?
第二件事,如果我有一个布尔列,其值实际上是字符串“true”和“false”,我如何将它呈现为不可编辑的复选框?
谢谢
第一个问题:您可以使用labelFunction
datagridcolumn 的属性来做到这一点。
<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];
}