是否可以将数据集ds的种类保存到XML文件中?
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
DataSet ds = new DataSet();
public Form1()
{
InitializeComponent();
ds.ReadXml("file.xml");
dataGridView1.DataSource = ds.Tables[0];
}
private void btnAdd_Click(object sender, EventArgs e)
{
DataRow dr = ds.Tables[0].NewRow();
dr["FN"] = textBox1.Text;
dr["LN"] = textBox2.Text;
ds.Tables[0].Rows.Add(dr);
ds.Tables[0].DefaultView.Sort = "FN asc";
ds.WriteXml("file.xml");
}
}
}
答案 0 :(得分:0)
DataView
class(通过DefaultView
property上的DataTable
class公开)没有可以序列化的机制,并且在DataTable
时不会保存实例已保存。
也就是说,你最好创建一个 可序列化的结构(使用你选择的任何序列化机制)并让DataTable
序列化DataView
以及{{1由DefaultView
属性公开的与您的应用程序相关的实例。
但是,mentioned作为others,您可以将DataView
属性公开的DefaultView
转换为DataTable
并保存 。
答案 1 :(得分:0)
DataView
的Create a new DataTable并使用WriteXml-Method。
ds.Tables[0].DefaultView.Sort = "FN asc";
var sortedTable = ds.Tables[0].DefaultView.ToTable();
sortedTable.WriteXml("file.xml");
答案 2 :(得分:0)
调用DataTable.DefaultView.ToTable()
,然后使用表格的WriteXml()
方法。我相信排序顺序会得到维护。