2011-08-20 54 views
0

我已经把一个按钮上一个DataGrid用下面的代码的onClick函数是在DataGrid行 - ExtJS的

列;

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

data grid is;

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

renderer is;

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没有定义”

回答

1

好像你需要定义函数

function doStop() { ... } 
+0

我已经定义了它,上面的所有代码都在同一个javascript文件中 – dursun

+0

我已经检查过它againg。我认为我有错字感谢。 – dursun

+0

认为这太容易了:),感谢您更新代码。也许你应该发布bntStop和btnStart类。它是否曾经显示“已停止”并确实开始工作? –

0

我面临同样的问题,它不是一个错字!我注意到被调用函数的实现只在外部函数“Ext.onReady(function(){}”)之外才起作用。

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

Ext.the_function =函数(){...}

代替:

VAR the_function =函数(){...}

这将解决这个问题,它将工作在任何地方!

相关问题