ExtJS Classic 7.3.0:网格中复选框列的渲染器未显示复选框

问题描述

如果我不使用渲染器,则会显示复选框。如果我使用渲染器,则显示真/假值。在将值设置为 true/false 之前,我需要在渲染器中进行一些处理,因此我需要使用渲染器。

这是解释我的问题的小提琴:Fiddle

编辑:我有一个与 hasOne 模型 B 关联的模型 A。这两个模型都从不同的商店加载。网格存储必须是模型 A,因为那是主存储。并且复选框字段在模型 B 中。所以为了显示复选框值,我使用渲染器获取模型 B,然后需要设置复选框值

解决方法

你想做什么没有太大意义。渲染器的重点是改变您将放入单元格的内容。当您使用 checkcolumn 时,您要求列将复选框放入列而不是文本/记录值。如果您将渲染器函数添加到 checkcolumn,您只需使 checkcolumn 的默认行为无效。如果你真的想要这个,只需将它添加到渲染器函数的末尾,看看是否符合你的需求:

 return this.defaultRenderer(value);

但我确实认为你在那里做一些反模式,我建议重新考虑它,或者尝试更详细地解释它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...