FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 5076|回复: 7
打印 上一主题 下一主题

GRID 编辑模式下 怎么自动计算

[复制链接]
跳转到指定楼层
楼主
发表于 2017-4-17 10:41:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我想问一下,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的显示没有变化
沙发
发表于 2017-4-17 11:16:37 | 只看该作者
不能这么写,你要更新的是单元格的值,而不是单元格编辑器的值。

专业版有示例:http://fineui.com/demo_mvc/#/dem ... /UpdateCellValueTax
板凳
 楼主| 发表于 2017-4-17 11:31:44 | 只看该作者
那还能能过Grid1.GetModifiedDict()这个来保存吗
地板
 楼主| 发表于 2017-4-17 14:00:12 | 只看该作者
开源版可以实现这个功能吗
5#
发表于 2017-4-17 17:20:45 | 只看该作者
可以的,添加事件 <Listeners>
                                                <fistener Event="beforeedit" Handler="Gbeforeedit" />
                                                <fistener Event="edit" Handler="onGridAfterEdit" />
                                                <fistener Event="cellkeydown" Handler="cellkeydown" />
                                            </Listeners>
6#
发表于 2017-4-17 17:21:27 | 只看该作者
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');
        };
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-26 02:57 , Processed in 0.044094 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表