2012-06-29 2 views
0

는 다음과 내가 실현하려 노력하고하는대로 : 당신이 ObservableItemsCollection ocSOI 샘플에 바인딩 데이터 그리드를 볼 수 있습니다 위의 이미지에서

enter image description here

;

Code , Description, Total, Delivered 열은 각각 ocSOI.Code, ocSOI.Description, ocSOI.TotalQty, ocSOI.DeliveredQty에 바인딩됩니다. 사용자 'This Delivery' 입력란에 값을 입력

I am trying to Achieve :, 내가 열 'Remaining Qty'의 값을 계산하고 싶은 DomainContextSubmitChanges() 전에,이 값 ocSOI.DeliveredQty = ocSOI.DeliveredQty + ThisDelivery 전류 전달을 첨가 'ocSOI.DeliveredQty'의 값을 변경할.

나는 알고리즘에 갇혀 있으므로이 개념을 어떻게 유지할 것인가라는 개념을 잃어 버렸습니다. 나는 정말로 내 머리를 뽑아 내고 있는데, 내 머리를 그 주위에 놓을 수없는 디자인 결함인가 ..... 도노 ... 잃어버린 .... pls 도움 !!! !!!

p.s. SalesOrderItem 엔터티에 ID, Code, Description, TotalQty, DeliveredQty 속성이 포함되어 있습니다.

p.s.s. 나는 내가 SalesOrderItem 각 레코드는 고객이 주문할 수있는 항목을 표현한다 ThisDeliveryRemaining 속성

을 포함 할 것입니다 내 뷰 모델

+0

ViewModel에'ThisDelivery' 및'Remaining'이 저장되어 있습니까? – Rachel

+0

@Rachel - 현재 이것은 질문의 일부이며,이 값을 추가하는 방법과 뷰 모델에 맞는 값을 추가하는 방법을 알지 못합니다. – Thr3e

답변

0

에서 MVVM 라이트를 사용하고, 그래서에 필요한 모든 정보를 포함해야합니다.

당신은 데이터 항목을 만들 수 있습니다 귀하의 그리드에서 각 열에 대한 개별 속성을 포함

public class SalesOrderItem 
{ 
    /* Not writing out full Property Change for sake of simplicity */ 
    public string Code { get; set; } 
    public string Description { get; set; } 
    public int Quantity { get; set; } 
    public int Delivered { get; set; } 
    public int ThisDelivery { get; set; } 
    public int Remaining { get; set; } 

    // When ThisDelivery changes, adjust Remaining value 
} 

또는 단일 개체 아래 항목 속성 덩어리, 그리고 당신의 SalesOrderItem의 항목에 대한 속성을 포함 할 수

public class SalesOrderItem 
{ 
    /* Not writing out full Property Change for sake of simplicity */ 
    public ItemModel Item { get; set; } 
    public int Delivered { get; set; } 
    public int ThisDelivery { get; set; } 
    public int Remaining { get; set; } 

    // When ThisDelivery changes, adjust Remaining value 
} 
+0

예, 첫 번째 옵션은 그 중 하나를 추측했지만 거기에 두 개의 속성이 더있는 것을 피하려고했습니다. 하지만이게 가장 간단하고 빠른 방법이라고 생각합니다. 대답을 주셔서 감사합니다. 제가 옵션 1과 함께 갈 것입니다. – Thr3e