在 slickgrid 上混合可点击行和不可点击行
Mix clickable row and unclickable row on slickgrid
对于我的列定义。
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>";
}
来自这些代码。我的 table 行是可点击的,我可以通过更改指针向用户显示可点击的位置。
但是现在我想让一行不可点击。
(例如 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,
});
在您的格式化程序中,您可以访问单元格的值,因此如果 value==='total'
,只是 return 一个空字符串。
另外,仅供参考,我认为您的代码中不需要 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
对于我的列定义。
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>";
}
来自这些代码。我的 table 行是可点击的,我可以通过更改指针向用户显示可点击的位置。
但是现在我想让一行不可点击。
(例如 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,
});
在您的格式化程序中,您可以访问单元格的值,因此如果 value==='total'
,只是 return 一个空字符串。
另外,仅供参考,我认为您的代码中不需要 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