2010-06-22 1 views

답변

2

당신은 생성하고 서버의 VCL 컨트롤을 채우는 함께 뭔가를 kludge 및 클라이언트 제어를 직렬화 할 수 있습니다, 그러나 그것은 추한 것 같다.

대신 트리를 나타내는 데이터를 반환하고이를 사용하여 클라이언트 측에서 트리 뷰를 채 웁니다.

NodeId NodeName ParentId 
0  Root  -1 
1  Node1  0 
2  Node2  0 
3  Node3  0 
4  Node1.1 1 
0

DataSnap은 JSON을 사용하여 객체를 직렬화 할 수 있습니다. 노드를 저장하고 그에 따라 트리 뷰를 채울 트리 구조를 만드는 것이 좋습니다.

그리고 아니요, VCL TTreeView를 직렬화 할 수 없습니다.

1

GUI 요소를 서버에서 클라이언트로 전송하는 대신 오픈 소스 라이브러리를 사용하여 쉽게 (비 직렬화 할 수있는) 데이터 만 전송할 수 있습니다 (예 : '데이터 전송 객체', DTO). OmniXML, NativeXML 또는 SuperObject입니다.

프리젠 테이션 계층은 이러한 방식으로 쉽게 변경할 수 있습니다 (HTML 또는 모바일 클라이언트를 생각해보십시오).

DTO에 대한 정의는 Martin Fowler's 사이트에서 확인할 수 있습니다.