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()方法。
  • 相关阅读:
    经典多线程问题(四)-轮流打印字母和数字
    经典多线程问题 (一)-多线程售票
    买卖股票的最佳时机 II
    最长递增(严格递增)子序列-可以不连续
    环形链表 II
    最小栈
    买卖股票的最佳时机
    二叉树的层序遍历
    字符串相加
    最大子序和
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/539412.html
Copyright © 2011-2022 走看看