使用Telerik的radgridview获取winforms。我将radgridview绑定到绑定列表。我正在尝试对此事件进行一些验证
private void rgView_RowsChanged(object sender, GridViewCollectionChangedEventArgs e)
{
var changedRowItems = e.NewItems;
var originalRowItems = e.OldItems
var changedRow = changedRowItems[0];
var originalRow = originalRowItems[0];
var editedUser = ((Telerik.WinControls.UI.GridViewRowInfo)changedRow).DataBoundItem
as myusermodel;
var noneditedUser = ((Telerik.WinControls.UI.GridViewRowInfo)originalRow).DataBoundItem
as myusermodel;
if(editedUser.MyAttribute1!= noneditedUser.MyAttribute1)// this is always equal even when changed
{
//do something
}
}
虽然在更改MyAttribute1时正确触发了事件,但我看到editedUser.MyAttribute1等于noneditedUser.MyAttribute1。我在这里错过了什么吗?可能是因为我使用了绑定列表吗?
答案 0 :(得分:0)
您的代码似乎一切正常
您要为两个变量changedRow
和originalRow
指定完全相同的值
然后你比较它们,它们确实是一样的。
我认为您必须使用传递给事件处理程序的EventArgs
来查看更改了哪一行以及如何更改。