마스터 - 세부 관계가있는 두 개의 FDQuery가 있습니다. '마스터'의 AfterInsert 이벤트에서 세부 사항을 추가하고 OnBeforePost ('마스터'라고도 함) 이벤트에서 '마스터'필드의 유효성을 확인한 후에 만 '세부 사항'의 '게시'를 호출합니다. 그러나 FireDac은 'Detail'에 변경 사항이 없으면 'Detail'에서 'Cancel'을 실행하므로이 순서대로 수행 할 수 없습니다. 동작이 있으면 자동으로 '게시'를 실행합니다. 이 이벤트 동안 Detail이 이미 'dsBrowse'모드에 있기 때문에 BeforePost 이벤트가 실행되기 전에 발생합니다. 누구든지 나를 도울 수 있습니까? 즉 firedac이 기록 세부 정보에서 게시/취소를 실행하는 것을 방지하는 방법은 무엇입니까? * 참고 : 나는 (? 놀라운되지 않음) 게시하기 전에 실행하기 위해 BeforePost 이벤트가 발생, 델파이 XE5세부 레코드에 firedac 게시 또는 취소를 방지하는 방법은 무엇입니까?
0
A
답변
0
이 해결 방법은 상속 TFDQuery
구성 요소를 확인하고 Post
및 BeforePost
이벤트를 덮어이었다 사용하고 있습니다.
type
TMyFDQuery = class(TFDQuery)
InheritedPost: boolean; // Avoid Duplicate BeforePost Execution
...
protected
procedure DoBeforePost; override;
procedure Post; override;
...
procedure TMyFDQuery.DoBeforePost;
begin
if not InheritedPost then
inherited;
end;
procedure TMyFDQuery.Post;
begin
DoBeforePost;
try
InheritedPost := True;
inherited;
finally
InheritedPost := False;
end;
end;
관련 문제
- 1. Delphi XE6 FireDac 마스터 세부 오류
- 2. 주석의 선택 취소를 방지하는 방법 자동으로 신속하게
- 3. ASP.NET을 사용하여 게시 재설정 쿠키를 방지하는 방법은 무엇입니까?
- 4. QLineEdit 상속인에서 실행 취소를 구현하는 방법은 무엇입니까?
- 5. Android에서 AsyncTask 취소를 올바르게 처리하는 방법은 무엇입니까?
- 6. 항목 세부 사항 표시 화면에서 편집 취소를 처리하는 표준 방법은 무엇입니까?
- 7. URL을 레코드에 저장하는 방법은 무엇입니까?
- 8. ArrayOutOfBoundsException을 방지하는 방법은 무엇입니까?
- 9. SQLite FireDAC 후행 공백
- 10. iBeacons 스푸핑을 방지하는 방법은 무엇입니까?
- 11. FireDac TTable의 날짜 필터링
- 12. `validation`에서 입력 필드를 방지하는 방법은 무엇입니까?
- 13. jquery에서 탭을 방지하는 방법은 무엇입니까?
- 14. 차단 경로를 방지하는 방법은 무엇입니까?
- 15. Facebook에서 이중 게시를 방지하는 방법은 무엇입니까?
- 16. 클라이언트 측에서 포스트 백을 방지하는 방법은 무엇입니까?
- 17. ASP.NET MVC - 마스터/세부 게시
- 18. DATE 값 상수로 FireDAC 데이터 집합을 필터링하는 방법은 무엇입니까?
- 19. Delphi XE7에서 TFDTable (FireDAC)을 사용하는 방법은 무엇입니까?
- 20. ASP.NET 이벤트에 HTTP GET을 방지하는 방법은 무엇입니까? 또는 모든 이벤트에서 Request.Type을 확인하는 방법은 무엇입니까?
- 21. FireDac FDQuery.execsql 명령의 영향을받는 행 수를 얻습니다.
- 22. FireDac TFDScript.ExecScript() 작동하지 않습니다.
- 23. FireDAC TFDTable CreateTable
- 24. FireDAC : Array DML 진행
- 25. FireDac Firebird 및 Android
- 26. Guzzle이 400 또는 500 오류를 감지하면 충돌을 방지하는 방법은 무엇입니까?
- 27. NERDTree 버퍼 삭제를 방지하는 방법은 무엇입니까? (또는 다시로드하십시오)
- 28. PHP 또는 MySQL 수준에서 이중 양식 제출을 방지하는 방법은 무엇입니까?
- 29. FireDAC : SQLite DB 시간 절약
- 30. GUI 차단을 방지하는 방법은 무엇입니까?
이것은 마스터/세부 정보이므로 새로 추가하는 레코드가 조인되도록 조인 필드 값을 먼저 설정합니까? 그렇지 않은 경우 세부 정보가 더 이상 상황과 관련이 없기 때문에 취소되는 것처럼 들립니다. 비주얼 컨트롤 등을 볼 수 있도록 코드와 폼의 그림을 게시해야합니다. –