zoukankan      html  css  js  c++  java
  • How to achieve dialog with lookup control

    How to create a dialog with the lookup as a control, the other control SalesId ItemId lookup is the only thing that SalesId.

    Done as follows.
    1.declare control by extended data type to use.

    class LookupDialog extends RunBase
    {
        FormStringControl   SalesIdCtrl, ItemIdCtrl; 
    }

    2. Creation dialog.

    protected Object dialog(Dialog dialog, boolean forceOnClient)
    {
        DialogRunBase ret;
        ;
        ret = super(dialog, forceOnClient);
        ret.caption('Costing report by order');
    
        SalesIdCtrl = ret.formBuildDesign().addControl(FormControlType::String,'SalesId');
        SalesIdCtrl.extendedDataType(extendedTypeNum('SalesId'));
    
    
        ItemIdCtrl = ret.formBuildDesign().addControl(FormControlType::String,'ItemId');
        ItemIdCtrl.extendedDataType(extendedTypeNum('ItemId'));
    
    
        return ret;
    }

    3.Set the control can not override method at runtime.

    public void dialogPostRun(DialogRunbase dialog)
    {
        ;
        super(dialog);
        dialog.dialogForm().formRun().controlMethodOverload(true);
        dialog.dialogForm().formRun().controlMethodOverloadObject(this);
        SalesIdCtrl = dialog.dialogForm().formRun().design().controlName('SalesId');
        ItemIdCtrl = dialog.dialogForm().formRun().design().controlName('ItemId');
    }

    4.Creating lookup method.

    void ItemId_lookup()
    {
        Query                   query          = new Query();
        SysTableLookup          sysTableLookup =
        SysTableLookup::newParameters(tableNum(SalesLine), SalesIdCtrl);
        ;
        sysTableLookup.addLookupField(fieldNum(SalesLine, ItemId));
        sysTableLookup.addLookupField(fieldNum(SalesLine, Name));
        query.addDataSource(tableNum(SalesLine)).addRange(fieldNum(SalesLine,SalesId)).value(SalesIdCtrl.text());
        sysTableLookup.parmQuery(query);
        sysTableLookup.performFormLookup();
    }

    5.Detailed method other

    public container pack()
    {
        return conNull();
    }
    
    public boolean unpack(container packedClass)
    {
        return true;
    }
    
    static void main(Args _args)
    {
        LookupDialog test1 = new LookupDialog();
        ;
        if (test1.prompt())
        {
            test1.run();
        }
    }
  • 相关阅读:
    HDU 2236 无题II
    P2220 [HAOI2012]容易题
    UVA11383 Golden Tiger Claw
    AT2272 [ARC066B] Xor Sum
    CentOS7 静默安装oracle12c
    SNAT与DNAT
    Linux下离线安装Docker
    TJOI2017 DNA 和 BJOI2015 隐身术
    LOJ6169 相似序列
    BJOI2019 删数
  • 原文地址:https://www.cnblogs.com/Fandyx/p/3200041.html
Copyright © 2011-2022 走看看