0
我有一個Silverlight DataGrid,用戶可以在其中更改值。我也有一個「保存」按鈕。當用戶點擊「保存」按鈕時,我只想要保存用戶已更改的數據網格中的行(項目)。我怎樣才能做到這一點?Silverlight DataGrid - 髒行
我有一個Silverlight DataGrid,用戶可以在其中更改值。我也有一個「保存」按鈕。當用戶點擊「保存」按鈕時,我只想要保存用戶已更改的數據網格中的行(項目)。我怎樣才能做到這一點?Silverlight DataGrid - 髒行
好吧,如果你的DataGrid的ItemsSource
屬性綁定到一個名爲MyClass
類的集合,你可以添加一個bool
屬性MyClass
稱爲IsModified
。然後,在該課程的其他指定人員中,您可以將IsModified
設置爲true
。例如:
public class MyClass
{
public bool IsModified { get; set; }
private string _foo;
public string Foo
{
get { return _foo; }
set
{
_foo = value;
IsModified = true;
}
}
}
然後,你可以使用LINQ查詢項目的集合,其中IsModified
是true
(此代碼假定items
是綁定到你的DataGrid
集合):
List<MyClass> toSave = items.Where(x => x.IsModified).ToList();
最後,請使用任何保存方法,您必須處理每個項目在toSave
:
foreach (MyClass curr in toSave)
{
// Save "curr" here...
// Don't forget to reset IsModified
curr.IsModified = false;
}
希望這可以幫助。