Заполните ячейку значением, только если выбран параметр поля со списком

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

ячейки со значением должны быть редактируемыми в конце.


person Mendi    schedule 05.05.2019    source источник


Ответы (1)