Я занимаюсь разработкой веб-приложения на dhtmlx. У меня есть сетка, которая имеет 3 столбца. Первый - комбинированный, а остальные 2 редактируемые. все строки пустые в начале. пользователь должен выбрать один вариант из списка и ввести сумму на одном из двух других. когда он набирает сумму с одного, другой отключается, и наоборот. когда он нажимает на следующую строку в тот момент, когда он выбирает опцию в комбо, я хочу, чтобы количество последней ячейки, доступной для редактирования, заполняло ячейку второго столбца новой строки. например, если у меня есть в (1,1) 100, я хочу, чтобы после выбора комбо в строке 2 (2,2) также было заполнено 100. Я попробовал этот код, но он заполняет (2,2), только когда я нажимаю и редактирую (1,1) во второй раз. Что я делаю не так?
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;
}
});
ячейки со значением должны быть доступны для редактирования в конце.