FineUI 官方论坛
标题:
GRID 编辑模式下 怎么自动计算
[打印本页]
作者:
su_huanyu
时间:
2017-4-17 10:41
标题:
GRID 编辑模式下 怎么自动计算
大家好,我想问一下,GRID中的
<f:RenderField ColumnID="SL" ID="c_1" DataField="SL" Width="60px" HeaderText="请领量">
<Editor>
<f:NumberBox ID="NumberBox1" Required="true" runat="server" BoxConfigAlign="Stretch" AutoPostBack="True" />
</Editor>
</f:RenderField>
<f:RenderField ColumnID="DJ" ID="c_2" DataField="DJ" Hidden="true" Width="60px" HeaderText="单价">
<Editor>
<f:NumberBox ID="NumberBox2" Required="true" runat="server" AutoPostBack="True" />
</Editor>
</f:RenderField>
<f:RenderField ColumnID="ZJ" ID="c_3" DataField="ZJ" Hidden="true" Width="60px" HeaderText="总价">
<Editor>
<f:NumberBox ID="NumberBox3" AutoPostBack="true" Required="true" runat="server" />
</Editor>
</f:RenderField>
我想总价的是自动计算的,
在OnTextChanged="NumberBox1_TextChanged"中
NumberBox3.text=NumberBox1.text,这个好像没有用
NumberBox3的显示没有变化
作者:
sanshi
时间:
2017-4-17 11:16
不能这么写,你要更新的是单元格的值,而不是单元格编辑器的值。
专业版有示例:
http://fineui.com/demo_mvc/#/dem ... /UpdateCellValueTax
作者:
su_huanyu
时间:
2017-4-17 11:31
那还能能过Grid1.GetModifiedDict()这个来保存吗
作者:
su_huanyu
时间:
2017-4-17 14:00
开源版可以实现这个功能吗
作者:
leetle
时间:
2017-4-17 17:20
可以的,添加事件 <Listeners>
<f
istener Event="beforeedit" Handler="Gbeforeedit" />
<f
istener Event="edit" Handler="onGridAfterEdit" />
<f
istener Event="cellkeydown" Handler="cellkeydown" />
</Listeners>
作者:
leetle
时间:
2017-4-17 17:21
function onGridAfterEdit(editor, params) {
//updateSummary();
var me = this, columnId = params.column.id, rowId = params.record.getId();
if (columnId === 'FQty' || columnId === 'FPrice') {
var itemCateId = me.f_getCellValue(rowId, 'FCateName');
var itemFUnit = me.f_getCellValue(rowId, 'FUnit');
//alert(itemCateId);
if (itemCateId == '气体' && itemFUnit == '瓶') {
var fQty = parseFloat(me.f_getCellValue(rowId, 'FQty'));
me.f_updateCellValue(rowId, 'FBottleQty', fQty);
var fPrice = parseFloat(me.f_getCellValue(rowId, 'FPrice'));
me.f_updateCellValue(rowId, 'FAmount', (fQty * fPrice).toFixed(2)).toFixed(2);
} else {
var fQty = parseFloat(me.f_getCellValue(rowId, 'FQty'));
me.f_updateCellValue(rowId, 'FBottleQty', 0);
var fPrice = parseFloat(me.f_getCellValue(rowId, 'FPrice'));
me.f_updateCellValue(rowId, 'FAmount', (fQty * fPrice).toFixed(2)).toFixed(2);
}
updateSummary();
}
};
function updateSummary() {
// 回发到后台更新
__doPostBack('', 'UPDATE_SUMMARY');
};
作者:
su_huanyu
时间:
2017-4-18 14:36
太谢谢了
欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/)
Powered by Discuz! X3.4