网格绑定到对象的属性

时间:2009-05-12 14:47:55

标签: winforms

我有一个绑定到对象的第三方网格。每列都绑定到对象的属性。现在,我从网格中获取所选行并转换为对象,如:

var item = myGrid.ActiveRow.ListObject as Bench; 
item.RequestedBy = WindowsIdentity.GetCurrent().Name; 
_controller.Process(item); 

问题是,只要更改了item.RequestedBy属性,Grid就会在列中显示用户名。这是因为行绑定到对象。如果分配了值,我该怎么做才能在列中显示用户名。

1 个答案:

答案 0 :(得分:1)

假设您的第三方的ListObject类实现了ICloneable接口(它应该),一个建议是Clone该对象,这样您就不会使用相同的引用。

var item = myGrid.ActiveRow.ListObject.Clone() as Bench; 
item.RequestedBy = WindowsIdentity.GetCurrent().Name; 
_controller.Process(item);

如果Clone方法在ListObject类中不可用,您可以在Bench类中实现它。