2014-10-21 3 views
1

다음을 시도했습니다 : AX2009 Loop through all the controls in the form on init, 그리고 양식을 열 때 모든 양식 컨트롤을 반복 할 수있었습니다.AX 양식을 열 때 FormBuildControl 편집

그러나 양식 컨트롤을 편집하려고 할 때 어떤 이유로 작동하지 않습니다. 다음과 같은 switch 문이 있습니다.

폼이 열리면 단추 컨트롤은 계속 사용됩니다. 전후에 루프 메소드를 호출하기 위해 실행 메소드에서 super 메소드를 호출하고, init 메소드에서 super 메소드 전후로 호출했는데, 그 중 하나에서 작동하지 않았습니다. 비록 초기화 된 폼 컨트롤의 일부 속성을 사용해야하기 때문에 init 메서드에서 super보다 먼저 호출 할 때는 작동하지 않습니다.

답변

1

좋아, 내가 알아 냈어. 대신 FormBuildButtonControl 클래스를 사용하는, 다음은 컨트롤 ID를 취할 수 있으며, 컨트롤을 변경하게하기 위해 호출 : 루핑도 전에 또는 실행 또는 이후의 초 후에 호출 할 수 있습니다 element.control(control.id()).enable(false);

편집을 init 메소드의 super

2

컨트롤의 AutoDeclaration을 예로 설정해야합니다. A와 복수의 컨트롤이있을 수 있기 때문에

datasource.object(fieldNum(table,fieldName)).enabled(condition); 

: 데이터 소스 필드를 변경하는 것이 더 나은 테이블 필드에 바인딩 된 컨트롤을 위해

controlName.enabled(condition); 

: 그럼 당신은 이름으로 컨트롤에 액세스 할 수 있습니다 들.