zoukankan      html  css  js  c++  java
  • 使用维度显示

    在ax中有许多窗体都有维度显示功能,例如生产订单、销售订单等等…

    下面介绍一下,如果在自己开发的窗体中使用维度显示功能。

    维度显示,是调用了class  InventDimCtrl_Frm来完成的。

    步骤:

    1. 声明InventDimCtrl_Frm 类 InventDimCtrl_Frm  inventDimCtrl_Frm;
    2. 在窗体中添加InventDim表作数据源,并且Join上主数据源
    3. 设置数据源InventDim数据源LinkType成InnerJoin
    4. 在Form中的Grid添加一个Group,并将InventDim中字段拖入此Group中。并设置Group的DataSource为InventDim
    5. 在Form 中添加方法 updateDesign(InventDimFormDesignUpdate mode) 代码如下:
      void updateDesign(InventDimFormDesignUpdate mode)
      {
          InventDimParm       inventDimParm;
          ;
    6.     switch (mode)
          {
              case InventDimFormDesignUpdate::Init        :
                  if (!inventDimCtrl_Frm)
                      inventDimCtrl_Frm = new InventDimCtrl_Frm(element);
                  inventDimCtrl_Frm.parmSkipOnHandLookUp(true);
                  inventDimParm.initItemDimAllGrp();
                  inventDimCtrl_Frm.parmDimParmVisibleGrid(inventDimParm);
              case InventDimFormDesignUpdate::Active,
                   InventDimFormDesignUpdate::FieldChange :
                  inventDimParm.initDimActive(element.inventTable().DimGroupId);              inventDimCtrl_Frm.parmDimParmEnabled(inventDimParm);
                  inventDimCtrl_Frm.formSetControls(true);
                  break;

              default : throw error(strfmt("@SYS54195",funcname()));
          }
      }

    7. 在窗体Init中调用UpdateDesign方法。
    8. 在窗体中新建方法 inventDimSetupObject方法,代码如下:
      Object inventDimSetupObject()
      {
          return inventDimCtrl_Frm;
      }
    9. 覆盖数据源Prodtable方法 Active()方法,在此处Super()之后执行:
      element.updateDesign(InventDimFormDesignUpdate::Active);
    10. 覆盖数据源的ValidateWrite(),在Super之前执行:
      Prodtable.InventDimId = InventDim::FindOrCreate(inventDim).InventDimId;
    11. 在数据源ProdTable下的字段ItemID 覆盖方法Modified()写入代码:
      Super();
      element.UpdateDesign(InventDimFormDesignUpdate::FieldChange);
      InventDim.ClearNotSelectedDim(element.inventDimSetupObject().parmDimParmEnabled());
    12. 最后在Form 中添加剂menuButton设置MenuItem指向 InventDimParmFixed 数据源指向ProdTable;
  • 相关阅读:
    C++ 注意事项
    Google protocol buffer的配置和使用(Linux&&Windows)
    网络编程的一些错误总结
    C++单例模式设计与实现
    TCP粘包处理
    C++ 局部静态变量,全局变量,全局静态变量,局部变量的区别和联系
    C++模板类注意事项
    Django框架(二十二)—— Django rest_framework-频率组件
    Django框架(二十一)—— Django rest_framework-权限组件
    Django框架(二十)—— Django rest_framework-认证组件
  • 原文地址:https://www.cnblogs.com/perock/p/2382046.html
Copyright © 2011-2022 走看看