1

私はデータグリッドを持っています。列の値が「0」の場合、列の値を非表示にするにはどうすればよいですか? アイテム レンダラーを使用する必要がありますか? どのように?もっと簡単な方法はありますか?

第二に、値が実際に文字列「true」と「false」であるブール列がある場合、編集不可能なチェックボックスとしてレンダリングするにはどうすればよいですか?

ありがとう

4

2 に答える 2

3

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;
}

2 番目の質問: ドロップイン アイテム レンダラーを使用します。

<mx:DataGridColumn dataField="dValue" editable="false">
  <mx:itemRenderer>
    <mx:Component>
      <mx:CheckBox selected="{data.dValue == 'true'}"/>
    </mx:Component>
  </mx:itemRenderer>
</mx:DataGridColumn>

dValue を適切な dataField に置き換えます。

于 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 に答える