0

我想要达到的目标如下:

在此处输入图像描述

在上图中,您可以看到绑定到样本 ObservableItemsCollection ocSOI 的 DataGrid;

Code , Description, Total, Delivered列分别绑定到ocSOI.Code, ocSOI.Description, ocSOI.TotalQty, ocSOI.DeliveredQty

I am trying to Achieve :当用户在'This Delivery'文本框中输入一个值时,我想重新计算列'Remaining Qty'和之前SubmitChanges()的值DomainContext,我想更改在值中'ocSOI.DeliveredQty'添加当前交付的值ocSOI.DeliveredQty = ocSOI.DeliveredQty + ThisDelivery

我非常沉迷于算法,并且迷失在如何实现这一目标的概念中。我真的把我的头拉出来了,这是我无法理解的设计缺陷吗.....不要......所以迷路了......请帮助.!!!

psSalesOrderItem实体包含的ID, Code, Description, TotalQty, DeliveredQty属性。

pss 我在我的视图模型中使用 MVVM-Light

4

1 回答 1

0

我会做SalesOrderItem包含ThisDeliveryRemaining属性

每条记录都应该代表客户可以订购的物品,因此应该包含所有需要的信息。

您可以使数据项包含 Grid 中每一列的单独属性

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
}
于 2012-07-03T13:16:22.743 回答