关于我的列定义。
var columns = [
{id: "label", name: "point", formatter:this.clickableFormatter,field: "point",width: 150},
然后我为其添加clickhander。
chart.addClickHandler(){
}
我也为此使用clickableFormatter
。
clickableFormatter(row,cell,value,columnDef,dataContext){
return "<span style='cursor:pointer;'>" + value + "</span>";
}
从这些代码。我的表格行是可点击的,并且可以通过更改指针向用户显示可点击的位置。
但是现在我要使一行不可点击。
(例如total
行)
是否可以将点击事件阻止为一低?
可以在一行中使用另一个formatter
吗?
我提供了for loop
中的数据,并分别添加了total
。
for (var k = 0 ; k < data.length ;k++){
var temp = new Array();
temp['id'] = data[k]['id'];
temp['point'] = data[k]['point'];
ret.push(temp);
}
ret.push({
'id' : "total",
"point" : pointTotal,
});
答案 0 :(得分:1)
在格式化程序中,您可以访问单元格的值,因此,如果value==='total'
,则只需返回一个空字符串。
也供参考,我不认为您不需要在代码中使用for
循环(您可以完全忽略它),除非您使用它来计算总数,但您似乎并没有为此。
如果您认为创建数组对象需要它,则您在javascript中误解了数组,实际上是在设置对象属性,通常用var temp = { };
进行初始化,而不是数组。
起初它可能没有意义,但是javascript中的所有内容都是一个对象,包括数组和函数。因此,您可以将对象属性添加到任何内容。
somevar[numericVal] = x; // set array element, somevar must be type Array
somevar['stringVal'] = x; // set object property 'stringVal'
somevar.stringVal = x; // identical to above line, different way of specifying