2015-01-13 3 views
0

이것은 약간 복잡합니다. 설명하기 위해 최선을 다할 것입니다.WPF Datagrid Dynamic Binding

다음 표가 있습니다.

쉬트
idTimesheet
id_User
종료 날짜

승인 제출

LineItems
idLineItem
id_Timesheet
설명


idDay
id_LineItem
날짜
시간

그래서, 당신이 볼 수 있듯이, 이것은 Timesheeting 시스템입니다. 각 광고 항목을 개별적으로 표시 할 수있는 지점에 이르렀습니다. 문제는 관련 열의 각 요일별 시간을 표시하는 방법을 파악하는 것입니다.

GridView에 Day 열을 동적으로 생성하기 위해 각 열의 날짜도 가질 수 있도록 동적으로 생성하려면 사용하고 있지만 관련 열에 일/시간을 바인딩하는 방법은 손실됩니다 . 최종 목표는 사용자가 시스템에 자신의 시간을 입력 할 수있게하는 것입니다. 나는 EntityFramework를 사용하고 있으므로, ICollection<Days>을 제공하는 LineItem.Ref_Days을 사용하여 Days를 획득 할 수 있습니다. LINQ를 사용하여 List 또는 다른 유용한 객체로 쉽게 변환 할 수 있습니다.

필요한 경우 더 자세한 정보를 제공해 주시기 바랍니다.

답변

1

관련 칼럼에 매일 시간을 표시하는 방법.

직선 엔티티를 사용하고 필요한 것을 노출시키지 않는 속성에 바인딩하지 마십시오. 원래 등록 정보에서 가져온 등록 정보로 표현 된 비즈니스 로직 (및 로직을 구성하는 모든 모델)이있는 DTO (Data Transfer Object) 오브젝트를 작성하거나 부분 클래스 정의를 통해 EF에서 엔티티를 확장하십시오. 생성 된 새 속성의 설정자에서 실제 속성을 업데이트하려면 현명한 방법을 사용하십시오.

실제 확장 엔티티 또는 DTO에서 열을 새 속성에 간단히 바인딩 할 수 있습니다.

+0

이 질문을 게시 한 후 오랫동안 최선의 선택 일 수 있다고 생각하고 답변을 기다리는 동안 작업을 시작했습니다. 확인을 위해 많은 것을 감사드립니다. – Trent