问题标签 [itemrenderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
14296 浏览

apache-flex - 组合框中显示项目的 Flex 自定义项目渲染器

我在组合框中使用自定义项目渲染器来显示自定义绘图而不是默认文本标签。

这适用于下拉列表,但显示的项目(当列表关闭时)仍然是我的对象的文本表示。

有没有办法让显示的项目以与下拉列表中相同的方式呈现?

0 投票
2 回答
7638 浏览

apache-flex - Flex dataGrid itemRenderer,访问单元格宽高

在编写自定义 itemRenderer 时,如何引用将在其中渲染的网格单元格的高度和宽度?这样在调整网格大小时它会正确调整大小。

我正在编写一个 dataGrid itemRenderer,它在表格的最后一列中绘制条形图。

我试过引用“this”、“this.parent”和其他一些没有成功的东西。我的临时 hack 解决方案是将此数据添加到数据集合中,但是当网格更改大小时这将不起作用,因此我每次都必须对其进行编辑。

0 投票
1 回答
2297 浏览

apache-flex - 如何根据另一个 itemRenderer 中的操作更改 itemRenderer 中的状态?

我有一个带有 ItemRenderer 的 DataGridColumn,它扩展了 Box 组件。默认显示是一个文本组件。当用户单击文本组件时,我将状态更改为添加一个 PopUpMenuButton 子项,并使文本组件不可见。这工作正常。但是,我只想让一个 PopUpMenuButton 一次在 DataGrid 中可见(类似于 itemEditor 的工作方式)。我不想使用 itemEditor,因为我遇到了太多问题,试图让它在这种情况下工作。

我正在我的 itemRenderer 中实现 IDropInListItemRenderer,以便访问 listData 属性,这将为我提供所有者(DataGrid),但我不知道如何“关闭”DataGrid 中其他 itemRenderers 中的“编辑”状态。

我怎样才能做到这一点?

谢谢。

0 投票
1 回答
2524 浏览

apache-flex - DataGrid 第一行中的 RadioButton 导致问题 - Adob​​e Flex

我在使用 itemRenderer 的一列中有一个带有 RadioButtons 的 DataGrid。DataGrid 驻留在 TitleWindow 上,每次用户单击按钮时都会创建和弹出该窗口。DataGrid 的 dataProvider 是一个 ArrayCollection,当显示窗口和 DataGrid 时,根据每个 ArrayCollection 项中的布尔值选择或不选择 RadioButtons。如果用户单击 DataGrid 中的不同 RadioButton,则 ArrayCollection 项将使用新的布尔值进行更新。

问题在于第一行中的 RadioButton 保持其选定值。对于所有其他行中的 RadioButton,当显示 TitleWindow 和 DataGrid 时,将根据 ArrayCollection 中项目的布尔值选择正确的 RadioButton。但如果第一行的 RadioButton 是需要选择的,则不是。我为 RadioButtons 上的 valueCommit 事件设置了一个侦听器,结果很有趣:除了第一个之外,所有行中 RadioButtons 的 valueCommit 只触发一次,所选值为 true。但是如果第一行中的 RadioButton 是应该被选中的,valueCommit 会被触发5 次,前 3 次将所选值报告为 true,最后 2 次将其报告为 false。

对此的任何帮助将不胜感激。已经报告了一个类似的错误,但它没有提供任何解决方法。

UPDATE 12/18/08 OK,valueCommit 被触发了 5 次,第四次为假,第五次为假,实际上对应于数据中的索引 2 ALWAYS,不管它是什么。所以 4 次报告第一个 RadioButton,最后一次为假,第五次报告索引 2 为假。诡异的!

0 投票
2 回答
6042 浏览

apache-flex - 使 Flex 数据网格适合数据

我有几行文本数据,可以在 0 到 100 之间变化,并且一次都需要在屏幕上可见。默认行为适用于网格,直到行 * rowHeight > gridHeight。

基本上我需要一个挂钩到项目高度或行高来根据网格的高度计算它。我已将 paddingTop 和 paddingBottom 设置为零,但行之间仍有大量空白。

我的数据网格组件...

setRowHeight() 有帮助,但如果我将行高设置为 10,则单元格的 itemRender 比单元格大。

0 投票
2 回答
1179 浏览

apache-flex - 奇怪的 ItemRenderer 行为

我对 ItemRenderer 有一个非常奇怪的问题。我有一个带有 ViewStack 的 main.mxml 容器。当用户登录时,初始视图包含一个 AdvancedDataGrid——包含一些数据和下面的 ItemRenderer——它只显示一个 Delete 按钮。当用户登录时,这个 AdvancedDataGrid 会自动从数据库中刷新。应根据用户的角色成员身份启用或禁用删除按钮。

场景 1(以管理员身份登录):

  1. 管理员用户登录——立即显示数据网格视图,并为每一行正确启用删除按钮
  2. 登出
  3. 以非管理员用户身份登录 - 数据已刷新,所有行仍处于启用状态,除了一个。它可能是第一行、第二行或第三行——它是完全随机的。这真的很奇怪。. .

我重新启动浏览器并遵循方案 2。. .

场景 2(以非管理员身份登录):

  • 非管理员用户登录 - 立即显示数据网格视图,并且每行都正确禁用删除按钮
  • 登出
  • 以管理员用户身份登录 -除一个之外,所有行仍处于禁用状态。它可能是第一行、第二行或第三行——它是完全随机的。与第一种情况相反。

有趣的事实——如果我在 checkDeleteSecurity 中设置一个断点,只有当第一个用户登录并且第一次刷新 DATAGRID 时它才会到达它。当我注销并且下一个用户登录时,数据网格会刷新,但 checkDeleteSecurity 断点永远不会被捕获。

0 投票
10 回答
26945 浏览

apache-flex - Flex - 将参数发送到自定义 ItemRenderer?

我想要完成的工作是让我的 Flex Datagrid 中的财务数据进行颜色编码——如果是肯定的,则为绿色;如果是负数,则为红色。如果我想要着色的列是 dataProvider 的一部分,这将相当简单。相反,我是根据作为 dataProvider 一部分的另外两列来计算它的。这仍然相当简单,因为我可以在 ItemRenderer 中再次计算它,但计算的另一部分是基于文本框的值。所以,我认为我需要能够将文本框的值发送到自定义 ItemRenderer,但由于该值存储在主 MXML 应用程序中,我不知道如何访问它。将其作为参数发送似乎是最好的方法,但也许还有另一种方法。

这是我的 ItemRenderer 的当前代码:

(data.AvailableFunding 不存在)

那么有谁知道我将如何实现这一目标?

0 投票
3 回答
2620 浏览

apache-flex - flex 3 和 itemRenderers

我有一个数据网格,其中一列我使用项目渲染器来显示内容。我想知道是否可以在 itemRenderer 的脚本块内访问数据网格的数据提供者内容。

目前,我可以使用 data.variableName 访问项目渲染器中组件中的 dataprovider。

我希望能够在脚本块中对这个变量进行一些错误处理,有什么想法吗?

0 投票
3 回答
4329 浏览

apache-flex - 如何阻止数据网格的第一行 itemRenderer 实例化/添加/初始化/等两次?

在 Flex DataGrid 的第一行中,itemRenderer 将初始化两次。跟踪结果显示 flex 框架可能正在创建第一行的 itemRenderer 的两个实例。在一个更复杂的应用程序中,itemRenderer 包含一个数据绑定的 ColorPicker,我们看到由于这个问题而发生了无限循环。只有第一行的 itemRenderer 被初始化了两次。有没有办法覆盖 flex 的行为并阻止这种情况发生?下面的代码演示了这个问题:

主要应用:

简单项目渲染器:

缩写输出:

初始化:event.target=ItemRenderers0.dg...SimpleItemRenderer12.textInput,null 初始化:event.target=ItemRenderers0.dg...SimpleItemRenderer24.textInput,null 创建完成:event.target=ItemRenderers0.dg...SimpleItemRenderer24.textInput,项目 1 初始化:event.target=ItemRenderers0.dg...SimpleItemRenderer29.textInput,null creationComplete:event.target=ItemRenderers0.dg...SimpleItemRenderer29.textInput,项目 2 creationComplete:event.target=ItemRenderers0.dg...SimpleItemRenderer12 .textInput,第 1 项

0 投票
2 回答
1763 浏览

apache-flex - 在 itemRenderer 中设置标签宽度 - FLEX

我正在 Datagrid itemRenderer(从 UIComponent 扩展)中创建一个标签,现在我正在将标签的宽度设置为某个静态值。我想创建 100% 宽度的标签。我不想使用 unScaledWidth,因为我正在使用链接作为标签,因此链接将在整个单元格中可见。

我在这里先向您的帮助表示感谢。