Dynamics Ax2012的文件路径下拉框

选择文件下拉框的时候需要先设置EDT属性为FilePath。然后在Form的Method层添加FilePathLookupTitle方法。

原理 Ax会在标准的lookUp方法里面去调用SyspathName,下面是run方法。closeSelect会自动返回选择的值。

/// <summary>
/// Displays the system folder select dialog.
/// </summary>
void run()
{
    // This is not a real Axapta form.  This form is just a way to surface the win32 BrowseForPath dialog.
    // Calling super() isn't necessary since the Axapta form isn't used.  If super() is called the FormRun
    // will be leaked since we close the form within this method.

    FormRun callerFormRun;
    str s;
    HWND hwnd;

    //
    // Open this form modally to the calling form
    //
    callerFormRun = this.args().caller() as FormRun;

    if (callerFormRun)
    {
        hwnd = callerFormRun.hWnd();
    }
    else
    {
        hwnd = element.hWnd();
    }


    if (callerFormRun && formHasMethod(callerFormRun, identifierStr(filePathLookupTitle)))
    {
        s = WinAPI::getUniversalName_RU(WinAPI::browseForPath(hwnd,  this.args().caller().filePathLookupTitle()));
    }

    if (s != '')
        this.closeSelect(s);
    else
        this.closeCancel();

}

 

posted on 2017-12-14 13:37  クマ姫  阅读(184)  评论(0编辑  收藏  举报

导航