Javascript extjs表中的动态url不起作用

Javascript extjs表中的动态url不起作用,javascript,extjs,extjs5,Javascript,Extjs,Extjs5,我有一个网格面板,每行内都有一个子表。我正在尝试包含双击功能(如果您连续单击两次,请获取id_amenaza并使用url重新发送)。代码可以工作,但是如果我双击会折叠该行。如何添加此功能?(或插入用作链接的图像?) //网格面板 Ext.create('Ext.grid.Panel'{ renderTo:“示例网格”, 店面:阿蒙那扎店, 宽度:748, 身高:598, 标题:“”, 插件:[{ p类型:“子表”, 校长身高:24, 听众:{ “rowdblclick”:函数(网格、rowInd

我有一个网格面板,每行内都有一个子表。我正在尝试包含双击功能(如果您连续单击两次,请获取id_amenaza并使用url重新发送)。代码可以工作,但是如果我双击会折叠该行。如何添加此功能?(或插入用作链接的图像?)

//网格面板
Ext.create('Ext.grid.Panel'{
renderTo:“示例网格”,
店面:阿蒙那扎店,
宽度:748,
身高:598,
标题:“”,
插件:[{
p类型:“子表”,
校长身高:24,
听众:{
“rowdblclick”:函数(网格、rowIndex、columnIndex、e){
//获取记录,这是行索引引用
//记录在网格存储中的索引。
var record=grid.getStore().getAt(行索引);
//获取字段名
var fieldName=grid.getColumnModel().getDataIndex(columnIndex);
var data=record.get(字段名);
警报(数据);
}
},
栏目:[{
文本:“id_amenaza”,
数据索引:“id_amenaza”,
隐藏:是的,
宽度:100
}, {
宽度:100,
文本:“id_salvaguarda”,
数据索引:“id_salvaguarda”
},
{
文本:“denominacion”,
数据索引:“denominacion”,
宽度:100
},{
文本:“描述”,
dataIndex:'Description',
宽度:100
},{
文本:“eficacia”,
数据索引:“eficacia”,
宽度:100
},
],
getAssociatedRecords:函数(记录){
var result=Ext.Array.filter(
salvaguardaStore.data.items,
功能(r){
返回r.get('id_amenaza')==record.get('id');
});
返回结果;
}
}],
可折叠:错误,
答案:错,
栏目:[
{
文本:“ID”,
隐藏:是的,
可隐藏的:错误,
数据索引:“id”
},   
{
文本:“Codigo”,
宽度:50,
可排序:是的,
可隐藏的:错误,
数据索引:“codigo”
},          
{
文本:“Denominación”,
宽度:150,
数据索引:“denominacion”,
},
{
文本:“Autenticidad”,
弹性:1,
数据索引:“a_riesgo”
},
{
文字:“机密广告”,
弹性:1,
数据索引:“c_riesgo”
},
{
文本:“Integridad”,
弹性:1,
数据索引:“i_riesgo”
},
{
文本:“Disponibilidad”,
弹性:1,
数据索引:“d_riesgo”
},
{
文本:“Trazabilidad”,
弹性:1,
数据索引:“t_riesgo”
},
{
正文:“总计”,
弹性:1,
数据索引:“总计”
}]
});
}

提前感谢您。

首先,您必须将
行单击
连接到主网格。要检测单击了哪个子表行,必须使用事件对象

例如:

'rowdblclick': function (view, record, tr, columnIndex, e) {
    var cell = e.getTarget('.x-grid-subtable-cell');
    if (!cell) {
        return;
    }
    var row = Ext.get(cell).up('tr');
    var tbody = row.up('tbody');
    var rowIdx = tbody.query('tr', true).indexOf(row.dom);

    var records = view.up('grid').getPlugin('subtable').getAssociatedRecords(record);

    var subRecord = records[rowIdx];
    console.log(subRecord);
}
要关闭扩展/折叠集,请单击插件上的:false


工作样本:

谢谢,但我还有一个问题。当我使用
警报(子记录)时我将
[object object]
作为消息获取。我怎样才能获得
id\u salvaguarda
值?使用
get
方法:
record.get('id\u salvaguarda')
record.data
对象:
record.data.id\u salvaguarda
这两种方法都不起作用(我对javascript绝对是新手)。也许问题在于正确的表/行?在Firefox开发者模式下显示这个
16
最后我打开了另一个问题,因为你从这里解决了这个问题。谢谢。适用于我的示例:
subRecord
在我的示例中是
Salvaguardas
模型的实例,而不是表中的行<代码>行
变量保存指向单击行的
Ext.Element
'rowdblclick': function (view, record, tr, columnIndex, e) {
    var cell = e.getTarget('.x-grid-subtable-cell');
    if (!cell) {
        return;
    }
    var row = Ext.get(cell).up('tr');
    var tbody = row.up('tbody');
    var rowIdx = tbody.query('tr', true).indexOf(row.dom);

    var records = view.up('grid').getPlugin('subtable').getAssociatedRecords(record);

    var subRecord = records[rowIdx];
    console.log(subRecord);
}