0

我使用以下代码在 dataGrid 上放置了一个按钮

列是;

var avaliableAction = {
header : "Action",
width : 120,
sortable : true,
align : "left",
dataIndex : 'status',
renderer : statusRenderer
};

数据网格是;

var mainJobsGrid = new Ext.grid.GridPanel({
    store : jobsStore,
    columns : [ avaliableAction ],
    viewConfig : {
            forcefit : true
    },
    title : 'Data Mart Jobs',
    height : 198,
    width : 540,
    frame : true
});

渲染器是;

function statusRenderer(value, id, r) {
    var START_ICON = '/etlscheduler/resources/images/start-icon.png';
    var STOP_ICON = '/etlscheduler/resources/images/stop-icon.png';
    if (value == "STOPPED") {
        return "<input type='button' class='btnStart' onClick='doStart(); '>";
    } else if (value == "RUNNING" || value == "WAITING") {
        return "<input type='button' class='btnStop' onClick='doStop();'>";
    }
};

function doStop() { ... }
function doStart() { ... }

问题是当我单击按钮时出现“未定义doStop”异常

4

2 回答 2

1

好像你需要定义函数

function doStop() { ... }
于 2011-08-20T12:09:43.250 回答
0

我遇到了同样的问题,这不是错字!我注意到被调用函数的实现只有在“Ext.onReady(function(){}”之外才有效。

如果有人遇到同样的问题,我已经通过编写如下函数来解决它:

Ext.the_function = function(){...}

代替 :

var the_function = function(){...}

这将解决问题,并且无论您放在哪里都可以使用!

于 2013-02-16T14:39:44.060 回答