我有这样一个数据网格:绑定到列表<>
<dg:DataGrid Name="dg" AutoGenerateColumns="False" CanUserDeleteRows="True">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header="Product Code" x:Name="columnProductCode" Binding="{Binding Path=Product.ProductCode}" IsReadOnly="True" ></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Product Name" x:Name="columnProductName" Binding="{Binding Path=Product.Name}" IsReadOnly="True" ></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="ProductMeasure" x:Name="columnDonViTinh" Binding="{Binding Path=Product.Measure IsReadOnly="True"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Quantity" x:Name="ColumnQuantity" Binding="{Binding Path=Quantity IsReadOnly="False"></dg:DataGridTextColumn>
</dg:DataGrid.Columns>
</dg:DataGrid>
在后面的代码,我有这样一个结构:
private struct ProductDetail
{
public TProduct Product { get; set ; } // TProduct is a class provied by a web service
public int Quantity { get; set; }
}
和像这样的列表:
private IList<ProductDetail> bs = new List<ProductDetail>();
我曾尝试将数据填充到“bs”。和这样的绑定:
this.dg.ItemsSource = this.bs;
一切都很好。我可以插入一个新行,删除行,但是当我尝试修改列数量然后单击数据网格的头部(要求) - >数量列更改为之前。
我该如何解决这个问题。 感谢先进。
谢谢麦克布朗和布伦特。我尝试“UpdateSourceTrigger = PropertyChanged”,但它不起作用。 – hanuman0503 2010-04-25 15:26:24