我的问题与我的网格更新有关。这是我当前的网格生成程序:
leTle[0] = {index : 1, tle : tleId, nom : nomChamp, estar : "", fige : tleFixe, position : positionParam, longueur : longueurParam};
var fige;
if (tleFixe == "true")
fige = true;
else
fige = false;
$("#" + theId).kendoGrid({
columns:[{
field: "index",
title: "Index",
template: "<span style='font-size: 12px;' title='#= index #'>#= index # </span>",
width: 40
},{
field: "tle",
title: "TLE Id",
template: "<span style='font-size: 12px;' title='#= tle #'>#= tle # </span>",
width: 100
},{
field: "nom",
title: "Intitulé",
template: "<span style='font-size: 12px;' title='#= nom #'>#= nom # </span>"
},{
field : "position",
title : "Position",
width : 70,
attributes : {
"class" : fige ? " " : "fondRougePale"
}
},{
field : "longueur",
title : "Longueur",
width : 70,
attributes : {
"class" : fige ? " " : "fondRougePale"
}
},{
field :"estar",
title :"Estar",
template: "<span class='eStar'><input class='inputeStar' disabled type='text' /> </span>",
width : 250
},{
command: {
name : "destroy",
template: "<a class=\"btn btn-warning btn-mini k-grid-delete\">"
+ "<i class=\"icon-minus-sign icon-white\"></i></a>"
},
title: " ",
width: 40
}
],
dataSource: {
data: leTle,
schema: {
model: {
fields: {
tle: {editable: false},
nom: {editable: false},
estar: {editable: false},
longueur: {editable: fige},
position: {editable: fige}
}
}
}
},
editable: {
mode: "incell",
confirmation: false
},
scrollable : false
});
如您所见,如果我的变量“fige”等于 false,我的某些单元格可以被禁用。当我尝试使用手动编写的基本数据源构建网格时,网格还可以。一行接一行,当必须禁用单元格时,它们就是。
不幸的是,当我在构建网格后尝试添加行时,我的变量永远不会包括单元格的设置时间。
这是代码:
var vgrid = $("#tleSelected").data("kendoGrid");
var datasource = vgrid.dataSource;
var nbLines = vgrid.dataSource.total();
//Booleen de test
if (fige == "true")
tfige = true;
else
tfige = false;
var newRecord = { index : nbLines+1, tle : tleId, nom: nomChamp, estar: "", position: position, longueur: longueur, fige: tfige}
datasource.insert(newRecord);
所以,我处于我的变量很好但新行不是的情况。
您知道这种情况的解决方案,而不是破坏我的网格并在更新数据后重建它们?
非常感谢。