我有一个Silverlight DataGrid,用户可以为其更改值。我还有一个“保存”按钮。当用户单击“保存”按钮时,我只想保存用户已更改的数据网格中的行(项)。我怎么能做到这一点?
答案 0 :(得分:0)
好吧,如果您的DataGrid的ItemsSource
属性绑定到名为MyClass
的类的集合,则可以将bool
属性添加到名为{{1}的MyClass
}。然后,在该班级的其他设置者中,您可以将IsModified
设置为IsModified
。例如:
true
然后,您可以使用Linq查询public class MyClass
{
public bool IsModified { get; set; }
private string _foo;
public string Foo
{
get { return _foo; }
set
{
_foo = value;
IsModified = true;
}
}
}
为IsModified
的项集合(此代码假定true
是绑定到items
的集合) :
DataGrid
最后,使用您拥有的任何保存方法来处理List<MyClass> toSave = items.Where(x => x.IsModified).ToList();
中的每个项目:
toSave
希望这有帮助。