2010-01-05 2 views
0

저는 델파이 세계에서 왔고 주문 및 제품과 같은 마스터/세부 인터페이스를 만들고 싶습니다.
필드와 jqGrid를 사용하여 데이터를 표시하는 작업을 이미 만들었습니다. 내가 알고 싶은 것은 라인 추가, 편집 또는 제거가 가능한지 어떻게 사용자가 마스터에서 변경 사항을 확인했는지 db에서 변경하는 것입니다. I 메모리 변경 및 바로 확인이 같은 트랜잭션 내에서이를 실행하는 것이 결국 함께 TClientDataSet의를 사용하는 것이 델파이에
:
BEGIN
Master.Post
FOREACH Line IN Lines Line.Post
COMMIT

그래서 이력서에, 나는 메모리 라인의 배열을 유지하는 방법을 모른다 그리드에서 어떻게 서버에 다시 커밋을 보냅니다.
도움이 될 것입니다. 미리 감사드립니다.jqGrid + Asp.Net MVC 및 트랜잭션이 포함 된 Master-Detail

답변

0

그리드의 일부 숨김 필드 및/또는 양식 필드를 사용하여 변경 사항 클라이언트 측을 추적해야합니다. 줄이 삭제되면 (이전에는 db에 있음) 삭제할 줄이있는 입력란에 ID를 추가해야합니다. 추가 된 행에는 데이터가 들어있는 연관된 양식 필드가 있어야합니다. 마스터가 커밋되면 전체 필드 집합을 POST로 롤백하고 다시 서버로 보냅니다.

LINQ to SQL을 사용하면 데이터 컨텍스트를 만들고 마스터 개체를 가져온 다음 표시가 된 숨겨진 필드에서 관련 개체를 삭제하고 그렇지 않은 새 관련 개체를 만들거나 추가 할 수 있습니다. 해당 양식 필드에서 값을 가져 오기 전에 존재해야합니다. 그런 다음 SubmitChanges을 수행하면 모든 명령문이 단일 트랜잭션 내에서 실행됩니다.