我正在尝试使用extjs 4.2.2创建一个网格。网格包含多行,如果我单击一行,则会弹出另一个页面,显示该行的详细信息。 网格位于面板中,因此视图代码为:
Ext.define("Application.view.foo.Panel", {
extend: "Ext.panel.Panel",
cls: 'foo.panel'
...
items: [
{
itemId: "foo-bar",
xtype: "grid",
...
,selType: 'checkboxmodel'
,columns: [
xtype: 'templatecolumn'
控制器中监听行选择事件的代码如下:
"panel[cls~=foo.panel] #foo-bar": {
select: function(selectionModel, record, index) { .... }
现在,我要为每一行添加复选框以进行批量编辑,我添加了selType: 'checkboxmodel'
,但问题是我无法点击复选框:如果我点击该框,它会进入详细信息页面,而不仅仅是“检查”,因为控制器中的代码会监听“点击”行。事件
有任何建议可以实施吗?提前谢谢。
答案 0 :(得分:1)
我建议更改行单击侦听器以使用操作列查看行详细信息。
{
xtype:'actioncolumn',
width:50,
items: [{
// Url is just for example (not working)
icon: 'extjs/examples/shared/icons/fam/showDetails.png', // Use a URL in the icon config
tooltip: 'Show details',
handler: function(grid, rowIndex, colIndex) {
var rec = grid.getStore().getAt(rowIndex);
// do your functionality here...
}
}
在每一行中都会出现一个图标,然后您就可以多行选择行并查看每一行的详细信息。希望有所帮助。
答案 1 :(得分:0)
尝试收听cellclick事件。
cellclick: function(view, td, cellIndex, record, tr, rowIndex, e, eOpts) {
if(cellIndex != your_checkbox_column) {
//do your info page stuff here
}
}