ExtJS4列类是如何工作的?

ExtJS4列类是如何工作的?,extjs,extjs4.1,Extjs,Extjs4.1,我为一些选择内容和分页等编写了自己的子类,但这些都使用了renderer(),这要求它们返回一个字符串 这很好,我创建了一些图像标签并返回了它们 但这门课的具体内容是什么? 我想要一个在单元格中显示图表的子类,这在技术上应该没有问题,但是renderer()似乎不适合它,因为它只适用于字符串 是否为每一行实例化该类?或者它真的只是一个列的一个实例,哪些方法会为每一行调用所需的数据,而这些实例不包含任何关于行的状态?实际上,renderer()机制是在Ext.grid.column.column中

我为一些选择内容和分页等编写了自己的子类,但这些都使用了
renderer()
,这要求它们返回一个字符串

这很好,我创建了一些图像标签并返回了它们

但这门课的具体内容是什么? 我想要一个在单元格中显示图表的子类,这在技术上应该没有问题,但是
renderer()
似乎不适合它,因为它只适用于字符串

是否为每一行实例化该类?或者它真的只是一个列的一个实例,哪些方法会为每一行调用所需的数据,而这些实例不包含任何关于行的状态?

实际上,
renderer()
机制是在
Ext.grid.column.column
中实现的,每个列都有一个

正如您所提到的,
renderer()
函数返回一个字符串,它可能是一个HTML字符串(可能相当复杂-请查看ExtJs用于标准列的模板)。但不能返回组件(图表)

就我所知(基于我自己的理解和对类似问题的回答),ExtJs并没有提供一种直接的方式来渲染网格单元中的组件。如果你真的想一想,你是在要求一个网格承担比它预期的角色多得多的任务。它被设计成按原始数据显示记录,并添加了简单的用户交互功能,如复选框

但你真正想要的更多的是一种布局图表的方式,对于这个问题,我建议你研究一下


或者,您应该能够将图表呈现到dom元素中,该元素将在您自己的自定义列模板中定义。但是我会认为这是一个牵涉的任务。

谢谢你的快速回答:)我想在网格中渲染火花线,这就是为什么我想到编写我自己的列子类。但在我调试完整个代码之后,您似乎是对的,我必须输出一个具有生成ID的DOM元素,并将生成的图表呈现到该元素中,以获得flex大小可能会出现问题:\