仅当选择组合框选项时,才用值填充单元格

时间:2019-05-05 12:13:07

标签: javascript grid dhtmlx datagridcomboboxcolumn

我正在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;
                    }
                });

具有值的单元格都必须在最后都可以编辑。

1 个答案:

答案 0 :(得分:0)

如果我说对了,您可以尝试执行以下操作: http://snippet.dhtmlx.com/b32986bf1