2010-12-01 4 views
0

마스터 그리드는 Customers이고 세부 그리드는 Customers Orders입니다. EditorTemplate을 사용하면 모델이 업데이트를 위해 잘 작동하지만 새 레코드를 삽입 할 때 손실이 발생합니다.Telerik Grid MVC2 중첩 된 표 형태로 자식 레코드 삽입

CustomerId는 UserControl에 어떤 방식 으로든 전달되지 않습니다. 따라서 새로운 고객 주문은 0의 고객 ID로 생성됩니다.

주문 테이블에는 고객 ID와 주문 번호에 고유 키가 있으며 주문 ID는 기본 ID입니다. 주문 #을 입력하는 고객 주문서를 새로 작성해야하지만 고객 번호는 양식에 제공해야합니다.

분명히 뭔가가 빠졌고 그리드와 MVC에 관해서 Telerik 사이트에 도움이되지 않습니다.

도움이 될 것입니다.

답변

0

레코드 ID는 항상 "id"로 반환되며 이렇게 코딩되어야합니다.

[GridAction] 
public ActionResult _SaveMasterTable(int id) { 
    using (DataContext dc = new DataContext()) { 
     MasterTable model = dc.MasterTables.SingleOrDefault(
      e => (e.MasterId == id) 
     );e 

위의 경우 마스터 레코드가 업데이트됩니다. 자식 레코드의 경우 반환되는 레코드 ID는 마스터입니다 ... 마스터 ID가있는 새 레코드를 삽입 할 수 있습니다.

0

사용자가 새 항목의 키 필드 값을 입력 할 수 있도록 허용하는 것이 좋지 않습니다 (키가 열 유형의 컨텍스트에서 고유하거나 유효하지 않을 수 있음).). 필자가 선택한 그리드는 키 필드를 자동으로 증가 시키거나 새로운 행의 키 값을 직접 생성하여 반복이 없음을 확인하는 것입니다.

+0

의견을 보내 주셔서 감사합니다. 이 포럼의 나머지 사용자에게 질문에 답이 있고 나와 당신이 둘 다 알지 못하는 것은 무엇입니까? 다음에 질문에 대한 답을 얻지 못하면 자신의 견해를 스스로 지킬 수 있습니다. – AZee

관련 문제