我有一个绑定到对象的第三方网格。每列都绑定到对象的属性。现在,我从网格中获取所选行并转换为对象,如:
var item = myGrid.ActiveRow.ListObject as Bench;
item.RequestedBy = WindowsIdentity.GetCurrent().Name;
_controller.Process(item);
问题是,只要更改了item.RequestedBy属性,Grid就会在列中显示用户名。这是因为行绑定到对象。如果分配了值,我该怎么做才能在列中显示用户名。
答案 0 :(得分:1)
假设您的第三方的ListObject类实现了ICloneable接口(它应该),一个建议是Clone该对象,这样您就不会使用相同的引用。
var item = myGrid.ActiveRow.ListObject.Clone() as Bench;
item.RequestedBy = WindowsIdentity.GetCurrent().Name;
_controller.Process(item);
如果Clone方法在ListObject类中不可用,您可以在Bench类中实现它。