网格项目渲染器内的显示/隐藏按钮

Posted

技术标签:

【中文标题】网格项目渲染器内的显示/隐藏按钮【英文标题】:Show/Hide button inside grid item renderer 【发布时间】:2014-05-02 07:28:54 【问题描述】:

我创建了一个自定义网格标题渲染器(GridItemRenderer 的子类,spark)。在其中,我有一个我想要隐藏或显示的按钮,基于来自网格外部而不是数据提供者的一部分的标志。发送消息以隐藏或显示它的最佳方式是什么?我猜这更像是一个设计问题。我显然不能使用像 parsley 这样的 IOC 框架来使用消息,因为它是一个 itemrenderer。创建一个单例来管理按钮的可见性状态是唯一的方法吗?我在想如果有 一种将按钮从皮肤中暴露出来的方法,例如 skinnablecontainer 的工作原理,然后我可以更轻松地管理它。

【问题讨论】:

【参考方案1】:

在您的 itemrenderer 中...制作一个设置器以显示按钮是否可见.....

[Bindable]
private var _isBtnVisible:Boolean;

public function set isBtnVisible(value:Boolean):void

_isBtnVisible = value;


<s:Button visible="_isBtnVisible" />

然后从数据网格中设置“isBtnVisible”变量...

<s:DataGrid isBtnVisible=obj.visible />

试试这个....希望对你有帮助....

【讨论】:

【参考方案2】:

我使用的解决方法是使用单例。 hacky 但对我有用。

【讨论】:

以上是关于网格项目渲染器内的显示/隐藏按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何通过向它们添加组件来使滚动器内的视图自动调整大小? - 斯威夫特 3

flex 3 数据网格:如果 == 0 则隐藏值并在布尔值上显示复选框

防止网格被渲染

handsontable:隐藏一些列而不更改数据数组/对象

Unity3DUnity 组件 ② ( 删除 Light 组件 | 添加 Light 组件 | 构造物体组件 | 添加网格过滤器组件 | 添加网格渲染器组件 )

[译]网格着色器渲染数亿面片的模型