zoukankan      html  css  js  c++  java
  • AX 2009 多元素扩展类型和其界面控件的使用

    多元素扩展类型

    AX下扩展类型,除了关联表外,还有个多元素扩展的特性。表字段继承这个扩展类型后,这个表字段就会像数组一样来使用。

    扩展类型下建立的多个元素

    表里显示只会有一个字段,但是实际上是一个数组字段

    AX的控件都有父类。IntEdit控件,其父类是FormIntControl。RealEdit控件,其父类是FormRealControl。等等对应,不多例举。

    这样就可以轻松获取控件,并操作。

    不做细讲,代码很简单。直接贴出功能代码,看注释即可明白

    public void Sreach(TransDate day = today())
    {
        int                             m_T,m_count,m_c,m_j,m_d;
        utcDateTime                     m_StartTime,m_EndTime;
        TransDate                       m_Day;
        ProdJournalTable                m_ProdJourTable;
        ProdJournalRoute                m_ProdJourRoute;
        ProcessYieldAmountTable         m_TempTable;
        ProdTable                       m_ProdTable;
        FormIntControl                  m_IntControl;
        ProcessYieldCountTable          m_CountTable;
        ;

        m_Day = day - 1;
        m_c = 0;
        m_CountTable.clear();

        for(m_T = 0;m_T < 24;m_T++)
        {
            m_StartTime = DateTimeUtil::newDateTime(m_Day,72000 + 3600 * m_T);
            m_EndTime = DateTimeUtil::newDateTime(m_Day,72000 + 3600 * (m_T + 1));
            m_count = 0;
            ttsbegin;

            while select m_ProdJourRoute join m_ProdJourTable where m_ProdJourRoute.JournalId == m_ProdJourTable.JournalId
            && m_ProdJourTable.Posted == true && m_ProdJourTable.PostedDateTime >= m_StartTime
            && m_ProdJourTable.PostedDateTime <= m_EndTime
            {
                //奇偶判断,这边是单行双字段显示
                if(m_t mod 2)
                {
                    m_j = 2;
                }
                else
                {
                    m_j = 1;
                }

                m_count++;

                m_TempTable.clear();
                m_TempTable.TimeTitle = strfmt("%1 - %2",m_StartTime,m_EndTime);
                m_TempTable.ProdId[m_j] = m_ProdJourRoute.ProdId;
                m_TempTable.ItemId[m_j] = ProdTable::find(m_ProdJourRoute.ProdId).ItemId;
                m_TempTable.FlowId[m_j] = m_ProdJourRoute.IWS_FlowId;
                m_TempTable.QtyGood[m_j] = m_ProdJourRoute.QtyGood;
                m_TempTable.TransDateTime[m_j] = m_ProdJourTable.PostedDateTime;
                m_TempTable.insert();
            }

            if(!m_ProdJourRoute)
            {
                m_TempTable.clear();
                m_TempTable.TimeTitle = strfmt("%1 - %2",m_StartTime,m_EndTime);
                m_TempTable.insert();
            }

            ttscommit;

            //label setting
            m_c = m_T + 1;
            m_IntControl = element.design().controlName(strfmt("ProcessYieldCountTable_YieldCount[%1]",m_c));
            m_IntControl.label(strfmt("%1 - %2",strdel(DateTime2str(m_StartTime,0),0,7),strdel(DateTime2str(m_EndTime,0),0,7)));

            m_CountTable.YieldCount[m_c] = m_count;
        }
     
        m_CountTable.insert();
        //设置临时表
        
    //刷新数据源
        ProcessYieldAmountTable.setTmpData(m_TempTable);
        ProcessYieldAmountTable_ds.research();
        ProcessYieldCountTable.setTmpData(m_CountTable);
        ProcessYieldCountTable_ds.research();
    }
  • 相关阅读:
    The Princess and the Pea,摘自iOS应用Snow White and more stories
    Android笔记之自定义的RadioGroup、RadioButton,以及View实例状态的保存与恢复
    Android笔记之获取debug.keystore和release.keystore的MD5/SHA1值
    Android笔记之WebView加载网页的进度回调
    Android Studio停留在“Indexing paused due to batch update”的解决方案
    【Python初级】StringIO和BytesIO读写操作的小思考
    【Python初级】由判定回文数想到的,关于深浅复制,以及字符串反转的问题
    【Python初级】由生成杨辉三角代码所思考的一些问题
    【面试总结-编程】多行两列数据,实现同key的value求和并输出
    【算法与数据结构实战】模拟竖式加法,自定义位数
  • 原文地址:https://www.cnblogs.com/Kurodo/p/2193115.html
Copyright © 2011-2022 走看看