Winforms Telerik gridview检查行是否脏

Winforms Telerik gridview检查行是否脏,winforms,telerik,radgridview,Winforms,Telerik,Radgridview,在telerik gridview中,我们如何知道行是否脏? 在datagridview中,我们有IsCurrentRowDirty属性。 Telerik中是否有此类属性?使用RadGridView执行此操作的一种方法是使用CellValueChanged事件: void radGridView1_CellValueChanged(object sender, GridViewCellEventArgs e) { e.Row.Tag = "ThisRowIsDirty"; } 您是否考

在telerik gridview中,我们如何知道行是否脏? 在datagridview中,我们有IsCurrentRowDirty属性。
Telerik中是否有此类属性?

使用RadGridView执行此操作的一种方法是使用CellValueChanged事件:

void radGridView1_CellValueChanged(object sender, GridViewCellEventArgs e)
{
    e.Row.Tag = "ThisRowIsDirty";
}

您是否考虑过在绑定数据项中对此进行跟踪?许多业务应用程序都会在业务层跟踪对象的“脏”,而不是期望网格来跟踪。这是MVVM提供的关注点分离的一部分。这需要我比较更改前后对象的每个属性。Winforms datagridview提供了一个现成的IsCurrentRowdirty属性,这样做不一定——您可以通过getter/setter方法跟踪对象上的属性何时更改,并在更改时标记
IsDirty
。显然,这不支持n级撤消或知道何时将值更改回原始值,但这取决于您希望属性跟踪的复杂程度。大多数业务对象框架都包含此功能(如果您不需要深层业务层,还可以使用跟踪对象状态的ORMs)。底线是,我认为这个属性不存在,因为跟踪变化不是网格的职责。如果你想自己做这个,请在这里查看一些信息。您可以创建一个基类,对象从该基类继承并封装此功能,然后通过属性getter/setters访问它:非常感谢Cherleh。这是相当有用的。我不知道这件事。