1

我有一个数据网格。如果它是“0”,我如何隐藏列的值?我必须使用项目渲染器吗?如何?有没有更简单的方法?

第二件事,如果我有一个布尔列,其值实际上是字符串“true”和“false”,我如何将它呈现为不可编辑的复选框?

谢谢

4

2 回答 2

3

第一个问题:您可以使用labelFunctiondatagridcolumn 的属性来做到这一点。

<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。

于 2009-10-11T12:08:24.173 回答
1

这是一个改进版本,无需明确命名您正在处理的字段即可工作。

private function hideZero(item:Object, column:DataGridColumn):String
{
  if(item[column.dataField] == 0)
    return '';
  return item[column.dataField];
}
于 2011-09-15T15:56:14.877 回答