首页 > 解决方案 > 在事件处理程序中访问数据源

问题描述

以下代码正在生成错误:

初始化:

 var firstC = ["AUD","ZAR"];
var secondC= ["AUD","BRL","CAD","USD"];


function colorG(item, col, row){

var currency = firstC[col] + "-"+ secondC[row];
if(verifyCurrency(currency)==true)

item.getStyle().backgroundColor="green";
}

function verifyCurrency(currency)
{

if(this.getRowData().getExpressionValue("row[digital]").indexOf(currency)!=-1)
return true;
else return false;
}

细胞:

colorG(this,1,0);

我必须在哪个阶段放置 verifyCurrency 才能正常工作?

标签: eclipsefunctionreportbirteventhandler

解决方案


您在 verifyCurrency 函数中对“this”的假设是错误的。我对 Javascript 的了解还不够好,无法告诉您更多有关此的信息,但我认为“this”始终是在函数内部定义的。但它并不指向您的项目实例!

要解决此问题(没有双关语),请将项目作为参数传递给您的 verifyColor 函数。


推荐阅读