zoukankan      html  css  js  c++  java
  • 保留用户输入值

    Axapta通过xSysLastValue类来保存用户输入的值,这个类有getLast和saveLast等方法组成,当然最重要的是上述两个方法.
    Runbase为了保存用户的输入值实现了sysSaveable接口,该接口方法定义了一些方法,用于获取和保存用户输入的值。Runbase通过在方法promptPrim()方法中调用xSysLastValue的getLast和setLast来获取和保存用户的输入值,用户输入的值最终保存在数据库的表sysLastValue中。
    于是可以看出,为了保存用户输入值,Axapta在数据库层创建了一个表sysLastValue,用类xSysLastValue来操作表的读写,至于需要读取和写入的数据通过sysSaveable接口定义的方法来提供。
    了解了这个过程,就可以在所有的地方保存用户输入的值,比如保存Form中用户输入的值。系统中所有的Form都是通过SysSetupFormRun来设定的,由于在设计窗体的时候设计者并没有把保存用户输入值作为窗体设计的一部分,所以并没有默认实现sysSaveable这个接口,当然我们也就不能在这上面修改了。一个比较好的主意是新创建一个继承自FormRun的类,让该类实现sysSaveable中与具体Form无关的一些方法,然后在具体的Form中实现其余的方法,然后该类重载FormRun的init方法,在super()之前调用xSysLastValue的getLast方法,重载FormRun的close()方法,然后在super()之前调用saveLast()方法。
  • 相关阅读:
    解决iex -S mix报错
    OTP服务器
    多进程
    字符串与二进制
    IphoneX适配正确姿势
    Babel 配置用法解析
    babel版本变化
    你好,babel
    XSS攻击 && CSRF攻击 基础理解
    小程序开发初体验~
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/539412.html
Copyright © 2011-2022 走看看