onChange:function (newValue,oldValue) { debugger; var rows = $('#manage_btpCommodityDetails_datagrid').datagrid('getRows'); var index = getRowIndex(this); rows[index].salesQuantity = newValue; rows[index].saleAmount = Number(rows[index].salePrice)*Number(newValue); change事件后 }change事件后saleAmount 列数据没有发生改变
时间: 2024-02-10 15:34:28 浏览: 136
在你的代码中,你只是更新了 `rows[index].salesQuantity` 的值,但没有更新 `rows[index].saleAmount` 的值。因此,即使你在 `salesQuantity` 列中更改了一个值,`saleAmount` 列也不会自动更新。
你可以在 `onChange` 事件中,同时更新 `salesQuantity` 和 `saleAmount` 列的值,如下所示:
```javascript
onChange: function(newValue, oldValue) {
var rows = $('#manage_btpCommodityDetails_datagrid').datagrid('getRows');
var index = getRowIndex(this);
rows[index].salesQuantity = newValue;
rows[index].saleAmount = Number(rows[index].salePrice) * Number(newValue);
// 手动更新 saleAmount 列的值
$('#manage_btpCommodityDetails_datagrid').datagrid('updateRow', {
index: index,
row: rows[index]
});
}
```
通过调用 `datagrid` 的 `updateRow` 方法,可以手动更新行数据,从而更新 `saleAmount` 列的值。这样,当你更改 `salesQuantity` 列中的值时,`saleAmount` 列就会自动更新。
阅读全文