我正在尝试构建一个编辑专栏,但由于某种原因,我的例程并不完全正确。我对“商店”的价值并没有像我想象的那样回归。
有什么想法吗?
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";
}
我在我的网格面板中使用它是这样的:
{ header: "Edit", width: 60, dataIndex: 'serviceID', sortable: false, renderer: editLinkRenderer },
答案 0 :(得分:0)
您可以考虑使用ActionColumn。这样你就可以做到这一点:
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
}
}
},
...
除此之外,我对在商店里做平等感到怀疑。在store
整数之前是两个参数吗?你可以断点并看看record.store
属性是否符合预期吗?旧版本的Ext,也许,与渲染器有不同的签名?
答案 1 :(得分:0)
我很感激你看一看,但我发现了这个问题。
我错误地定义了两个V2020.ServiceStore,而后者正在搞乱一切。