如何计算GridView或模板列中的未绑定值

时间:2012-06-29 03:45:52

标签: silverlight algorithm c#-4.0 mvvm-light radgridview

我想要实现的目标如下:

enter image description here

在上图中你可以看到一个DataGrid绑定到ObservableItemsCollection ocSOI样本;

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'值。

我如此坚持算法,我在如何实现这个东西的概念中迷失了。我真的把我的脑袋拉了出来,是不是我无法理解它的设计缺陷..... donno ......太丢了......请帮忙。!!!

P.S。 ocSOI.DeliveredQty = ocSOI.DeliveredQty + ThisDelivery实体包含SalesOrderItem个属性。

p.s.s。我在我的viewmodel中使用MVVM-Light

1 个答案:

答案 0 :(得分: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
}
相关问题