我正在dhtmlx上开发一个Web应用程序。我有一个3列的网格。第一个是组合,其他两个可编辑。所有行开头都是空白。用户必须从组合中选择一个选项,并在彼此两个中的一个上键入金额。当他输入一个金额时,另一个将被禁用,反之亦然。当他在组合上选择一个选项后,单击下一行时,我希望最后一个单元格的数量可编辑以填充新行第二列的单元格。例如,如果我在(1,1)中有100,则我希望在第2行的组合选择之后也要用100填充(2,2)。我尝试了此代码,但仅在第二次单击并编辑(1,1)时才填充(2,2)。我在做什么错了?
myGrid.attachEvent("onEditCell", function (stage, rId, cInd, nValue, oValue) {
if (stage === 2 && myGrid.cells(rId, 1).getValue() !== "0" && myGrid.cells(rId, 0).getValue() !== "") {
var x = myGrid.cells(rId, 1).getValue();
myGrid.cellById(rId, 2).setDisabled(true);
if (myGrid.cells(rId + 1, 0).getValue() !== "") {
myGrid.cells(rId + 1, 2).setValue(x);
myGrid.cellById(rId + 1, 1).setDisabled(true);
return true;
}
return true;
} else if (stage === 2 && myGrid.cells(rId, 2).getValue() !== "0" && myGrid.cells(rId, 0).getValue() !== "") {
var x = myGrid.cells(rId, 2).getValue();
myGrid.cellById(rId, 1).setDisabled(true);
if (myGrid.cells(rId + 1, 0).getValue() !== "") {
myGrid.cells(rId + 1, 1).setValue(x);
myGrid.cellById(rId + 1, 2).setDisabled(true);
return true;
}
return true;
}
});
具有值的单元格都必须在最后都可以编辑。