只有在选择了组合框选项时才用值填充单元格
Fill a cell with a value only if combo box option is selected
我正在 dhtmlx 上开发网络应用程序。我有一个包含 3 列的网格。第一个是组合,另外两个是可编辑的。所有行一开始都是空白的。用户必须 select 组合中的一个选项,并在其他两个选项中输入一个金额。当他在其中一个上键入金额时,另一个被禁用,反之亦然。当他在 select 的组合选项后单击下一行时,我希望最后一个可编辑单元格的数量填充新行第二列的单元格。例如,如果我有 (1,1) 100,我希望在第 2 行的组合 selection 之后,(2,2) 也填充 100。我尝试了这段代码,但当我第二次单击并编辑 (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;
}
});
有值的单元格最后必须都是可编辑的。
如果我没猜错,你可以尝试做如下事情:
http://snippet.dhtmlx.com/b32986bf1
我正在 dhtmlx 上开发网络应用程序。我有一个包含 3 列的网格。第一个是组合,另外两个是可编辑的。所有行一开始都是空白的。用户必须 select 组合中的一个选项,并在其他两个选项中输入一个金额。当他在其中一个上键入金额时,另一个被禁用,反之亦然。当他在 select 的组合选项后单击下一行时,我希望最后一个可编辑单元格的数量填充新行第二列的单元格。例如,如果我有 (1,1) 100,我希望在第 2 行的组合 selection 之后,(2,2) 也填充 100。我尝试了这段代码,但当我第二次单击并编辑 (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;
}
});
有值的单元格最后必须都是可编辑的。
如果我没猜错,你可以尝试做如下事情: http://snippet.dhtmlx.com/b32986bf1