渲染Ext.grid.EditorGridPanel中的复选框

时间:2014-06-19 21:30:47

标签: javascript extjs checkbox

我有一个使用大量ExtJS的Web应用程序。我有一个绑定到商店的Ext.grid.EditorGridPanel,我需要用一个复选框来表示其中一列。

我相信我很接近 - 但我仍然有一些问题。具体来说,当我在Ext.grid.ColumnModel中实现这样的列时......

{
    dataIndex: 'isActive',
    header: 'Active',
    editor: {
        xtype: 'checkbox',
        trueText: true,
        falseText: false
    },
    renderer: function(value) {
        return "<input type='checkbox'" + (value ? "checked='checked'" : "") + " / >";
    },
}

嗯,这种作品。初始渲染时显示的复选框已正确选中或取消选中,具体取决于数据库存储中的值。并且,您可以选中或取消选中列中的复选框,并且商店会正确更新。

然而,剩下的问题是,由于初始渲染时出现的复选框和编辑时出现的复选框不完全相同。因此,当您单击它时,复选框似乎在其单元格内“跳转”。此外,在复选框跳转后,它仍处于原始选中或未选中状态。因此,您必须再次检查或取消选中它。

看起来这对于组合框来说可以正常工作,因为你想要一个组合框在你选择之后保留它的价值 - 然后你只需选择你想要的项目。如果组合框在渲染过程中略微跳跃也没关系。但是对于复选框却不是这样。

我很喜欢这个。有什么建议吗?

提前致谢, 添

1 个答案:

答案 0 :(得分:0)

为什么不使用xtype: 'checkcolumn'

这是一个例子: http://docs.sencha.com/extjs/4.0.7/extjs-build/examples/grid/cell-editing.html

复选框选择可能会有所帮助: http://docs.sencha.com/extjs/4.0.7/extjs-build/examples/grid/grid-plugins.html

如果你需要不同的东西,请告诉我。