2011. 7. 3.

MiPlatform Event 처리 유의점

비고설명
사용자가 값을 직접변경시 EditBox에서 직접 “b@yahoo.com”이라는 값으로 변경해 보시면 .CanChange -> Dataset.CanColumnChange -> Dataset.OnColumnChanged -> Edit.OnChanged 순으로 Event가 발생합니다.
Script에서 Dataset값의변경시Script에서 Dataset값을 직접 변경하게 되면 Dataset.CanColumnChange -> Dataset.OnColumnChanged 순으로Event가 발생합니다. EditBox의 CanChange, OnChanged Event는발생하지 않습니다.
위의 경우에서 보듯이 Dataset은 어떠한 경우에도 Event가 발생하지만 각 Presentation Component(위 예의 경우 EditBox)는 발생할 수도 안할 수도 있습니다.
Data를 Script에서 변경시 EditBox의 값을 변경치 말고 Dataset의 값을 변경하는 것이 바람직합니다.
Validation Logic의 경우도 각 Component에서 처리하는 것 보다 Dataset의 Event에서 처리하는 것이 바람직합니다.
Q) Record위치가 이동될 때 Validation처리를 하려면 어떻게 하나요?
A) 만일, Dataset의 Record 위치가 이동될 때 Validation처리를 하고 싶으면
Dataset의 ‘CanRowPosChange’와 ‘OnRowPosChanged’를 이용하면 됩니다.
사용법은 위의 경우와 동일합니다.