Javascript ExtJS-使用函数创建超链接
我正在尝试构建一个编辑列,但由于某些原因,我的例程不太正确。我的“商店”价值观是不会像我想象的那样退货 有什么想法吗Javascript ExtJS-使用函数创建超链接,javascript,asp.net,wcf,extjs,Javascript,Asp.net,Wcf,Extjs,我正在尝试构建一个编辑列,但由于某些原因,我的例程不太正确。我的“商店”价值观是不会像我想象的那样退货 有什么想法吗 function editLinkRenderer(value, metadata, record, rowIndex, colIndex, store) { if (store == V2020.ServiceStore) return '<a href="javascript:editServices(' + value + ')">
function editLinkRenderer(value, metadata, record, rowIndex, colIndex, store) {
if (store == V2020.ServiceStore)
return '<a href="javascript:editServices(' + value + ')">Edit</a>';
else if (store == V2020.PriceStore)
return '<a href="javascript:editPrice(' + value + ')">Edit</a>';
else if (store == V2020.PromoStore)
return '<a href="javascript:editPromo(' + value + ')">Edit</a>';
return "Edit";
}
<>你可以考虑使用。这样您就可以做到:
var items = [ ... ]; // existing items
if (store.constructEditColumn) {
items.push(store.constructEditColumn());
}
您的constructEditColumn
可能如下所示:
...
constructEditColumn: function() {
return {
xtype: 'actioncolumn',
items: {
text: 'Edit',
handler: function() {
// do stuff
},
scope: this
}
}
},
...
除此之外,我会怀疑在商店里做平等的事。这两个参数在
存储整数之前吗?您能否中断并查看record.store
属性是否符合您的期望?旧版本的Ext可能与渲染器具有不同的签名?非常感谢您的关注,但我解决了这个问题
我错误地定义了两个V2020.ServiceStore,而后一个却把一切都搞糟了。我看不出您的代码中有任何错误,我能看到的唯一可能性是store==V2020.ServiceStore
要成为真值,这两个对象必须是同一个实例。使用firebug商店看起来还好吗?这个函数是如何调用的?如果这是EditorGridPanel之类的侦听器,您应该知道从哪个存储调用它。我不知道哪个事件会触发这个函数。
...
constructEditColumn: function() {
return {
xtype: 'actioncolumn',
items: {
text: 'Edit',
handler: function() {
// do stuff
},
scope: this
}
}
},
...