我有一个使用大量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'" : "") + " / >";
},
}
嗯,这种作品。初始渲染时显示的复选框已正确选中或取消选中,具体取决于数据库存储中的值。并且,您可以选中或取消选中列中的复选框,并且商店会正确更新。
然而,剩下的问题是,由于初始渲染时出现的复选框和编辑时出现的复选框不完全相同。因此,当您单击它时,复选框似乎在其单元格内“跳转”。此外,在复选框跳转后,它仍处于原始选中或未选中状态。因此,您必须再次检查或取消选中它。
看起来这对于组合框来说可以正常工作,因为你想要一个组合框在你选择之后保留它的价值 - 然后你只需选择你想要的项目。如果组合框在渲染过程中略微跳跃也没关系。但是对于复选框却不是这样。
我很喜欢这个。有什么建议吗?
提前致谢, 添
答案 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
如果你需要不同的东西,请告诉我。