ExtJS - 使用函数创建超链接

时间:2010-12-16 01:44:49

标签: javascript asp.net wcf extjs

我正在尝试构建一个编辑专栏,但由于某种原因,我的例程并不完全正确。我对“商店”的价值并没有像我想象的那样回归。

有什么想法吗?

    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 },

2 个答案:

答案 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,而后者正在搞乱一切。