如何设置Flex DataGrid的每个单元格的样式

时间:2009-09-16 12:19:44

标签: flex datagrid cell

我有一个Flex DataGrid,它有一些列,我放了一个项目渲染器,这使得该列中的所有元素都超链接,我有一个要求,我需要在哪里看到用户的类型,基于我必须启用或禁用超链接。

有什么好方法,我可以在单元格级别获得样式属性......?

我搜索了,但没有多大帮助.. !!

1 个答案:

答案 0 :(得分:1)

绑定项呈示器的data属性(或设置一个侦听器),以便在更改时禁用超链接。每次单元格接收要渲染的新数据时,data属性都会更改。

这里有几种可能性。

class User {
  public var type:String;
}

<mx:Panel ...

  <mx:Component id="simple">
    <mx:Label styleName="{data.type}"></mx:Label>
  </mx:Component>

  <mx:Component id="userRenderer">
    <mx:Label dataChange="onChange(event)">
      <mx:Script>
        <![CDATA[
          private function onChange(event:FlexEvent) {
            // do something
          }
        ]]>
      </mx:Script>

    </mx:Label>
  </mx:Component>

  <mx:DataGrid ...>
    <mx:columns>
        <mx:DataGridColumn itemRenderer="userRenderer" />
    </mx:columns>
  </mx:DataGrid>
</mx:Panel>

使用代码的最小代码段,示例可能更合适,但您应该能够对此进行调整。