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(); }