我尝试使用ReadXml
和WriteXml
在datagrid
中加载/保存xml文件,但WriteXml
方法只创建一个新的空文件而不是保存更改对旧的。有关详细信息:[链接] [1]
----------------------------------更新------------ ----------------------------
private void RefreshModule()
{
ModulesView = new ListCollectionView(sdb.GetModules())
{
Filter = obj =>
{
var Module = (Module)obj;
return SelectedProduct != null && SelectedProduct.ModelNumber == Module.ModelNumber;
}
};
}
private Product selectedProduct;
public Product SelectedProduct
{
get { return selectedProduct; }
set
{
if (selectedProduct != value)
{
selectedProduct = value;
NotifyPropertyChanged();
RefreshModule();
}
}
}
答案 0 :(得分:1)
SaveDataSet
类的StoreDbDataSet
方法应该使用DataSet
参数并将此序列序列化为该文件。
public void SaveDataSet(DatatSet ds)
{
ds.WriteXmlSchema(DatabaseConstructorName);
ds.WriteXml(DatabaseFileName);
ds.AcceptChanges();
}
但是,如果将DataSet
的{{1}}属性设置为ItemsSource
,您应该如何序列化DataGrid
?
从ObservableCollection
方法返回DataSet
:
GetModules
并绑定到public DataSet GetModules()
{
return StoreDbDataSet.ReadDataSet();
}
的{{1}}。像这样:
DataView