문제

DeVexpress tcxGrid를 가지고 있으며, 이벤트 핸들러가 GridView의 OneDitValueChanged 이벤트에 첨부하여 일부 데이터를 열 중 하나에 요약해야합니다. 문제는 업데이트 된 값이 기본 데이터 세트에 기록되기 전에 유효성 검사 중에이 이벤트가 발사된다는 것입니다. 나는 tcxgrid에 너무 익숙하지 않습니다. 이벤트 처리기를 해고 할 수있는 방법이 있는지 아는 사람이 있습니까? ~ 후에 데이터 세트가 업데이트 되었습니까?

도움이 되었습니까?

해결책

DataSource.ondatachange 이벤트를 사용하는 것은 어떻습니까?

다른 팁

이것이 정확히 필요한지 확실하지 않지만, 그리드의 즉각적인 직원 옵션이 요약을 업데이트 해야하는 상황에 매우 유용하다는 것을 알았습니다. CXVIEW의 데이터 컨트롤러 속성에 묻혀 있습니다. 이렇게하면 그리드가 스프레드 시트처럼 작동합니다. 사용자가 셀에 입력하거나 탭하자마자 레코드가 게시됩니다. 그런 다음 데이터 세트의 애프터 포스트 이벤트에서 요약 이벤트 화재를했을까요?

(아마도 이미 이것을 알고 있지만 GridView 자체에는 내장 된 매우 유용한 요약 옵션이 많이 있습니다. 열의 요약 속성을보고 Showfooter가 ViewOptions에서 True로 설정되어 있는지 확인하십시오. 따라서 요약이 비교적 인 경우. 단순한 총 또는 평균 또는 이와 유사한 경우 그리드가 모든 일을하고 작업을 저장하도록하십시오.)

cxgrid에서 cxtableview 또는 cxdbtableview를 사용하십니까?

CXDBTableView를 사용하는 경우 DataSource에서 이벤트를 설정하여 CXDBTableView의 속성에서 링크 된 데이터 소스의 변경 사항을 설정합니다. (cxdbtableview .datacontroller.datasource)

나는 Skamradt와 함께 갈 것입니다 : 당신의 기대와 일치하는 이벤트를 더 신중하게 살펴보십시오.

그렇지 않으면 데이터가 초기화되어 있는지 확인한 후 이벤트를 연결할 수 있습니다.

 procedure TMyGrid.MyProc_OnDataLoaded( Sender : TObject ); //I made up this event, I'm not sure it exists
 begin
   Self.OnEditValueChanged := MyProc_OnEditValueChanged;
 end;

나는 이것을 정기적으로 개발하지 말라고 강력히 조언 할 것입니다 (코드를 통해 다른 콜백을 세우는 이벤트를 만드는 것은 지옥을 디버깅하는 확실한 방법입니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top