Apache flex 如何设置FlexDataGrid的每个单元格的样式

Apache flex 如何设置FlexDataGrid的每个单元格的样式,apache-flex,datagrid,cell,Apache Flex,Datagrid,Cell,我有一个Flex DataGrid,它有一些列,我有一个项目渲染器,它使该列中的所有元素都超链接,我有一个要求,我需要查看用户类型,基于此,我必须启用或禁用超链接 有没有什么好办法,我可以在单元格级别获得样式属性 我找过了,但帮不了什么忙 绑定项目呈现程序的数据属性(或设置侦听器),以便在更改时禁用超链接。每次单元接收到要渲染的新数据时,“数据”属性都会更改 这里有几个可能性 class User { public var type:String; } <mx:Panel ...

我有一个Flex DataGrid,它有一些列,我有一个项目渲染器,它使该列中的所有元素都超链接,我有一个要求,我需要查看用户类型,基于此,我必须启用或禁用超链接

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


我找过了,但帮不了什么忙

绑定项目呈现程序的
数据
属性(或设置侦听器),以便在更改时禁用超链接。每次单元接收到要渲染的新数据时,“数据”属性都会更改

这里有几个可能性

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>
类用户{
公共变量类型:字符串;
}

只需少量代码片段,该示例可能更适合,但您应该能够对此进行调整

你应该添加一个关于你使用的技术的标记/信息(.NET,ASP.NET,VB6,…随便什么…)Santosh已经放置了一个flex标记,那就是adobe flex。Santosh,你在项目呈现中做一个if语句来检查用户类型,然后启用或禁用超链接。感谢Chadwick为你的工作和代码列表,我正在修改您的代码,让我看看它是如何运行的……我将在这里不断更新。Chadwick,但还有一件事,在onChange()中,我们可以获得其他行的数据吗。。?以及如何获得样式属性。。。对于单元格数据..?在“simple”组件中,我设置了用于渲染单元格的组件(标签)的样式名。在该示例中,您需要在css中为每种类型的数据设置一个样式。使用“userRenderer”组件,您可以执行更复杂的操作(例如设置“enabled”属性:
event.target.enabled=(data.type==“goodType”)
这将为goodType启用标签,为所有其他类型禁用标签。您当然可以使用任何类型的组件,而不是标签,并更改任何属性。@Santosh您不能“获取其他行的数据”,我认为您也不应该这样做。组件将为每个单元格呈现一次(实际上使用了多个实例,但这并不相关)并且每次都会适当地设置数据。