保存数据从DataGridView在c#与WinForms
本文关键字:WinForms DataGridView 数据 保存 | 更新日期: 2023-09-27 18:05:36
我有两个DataGridView,一个非常简单,一个更复杂,具有不同的列类型。我的想法是将数据存储为XML,并在重新启动时从文件中加载。对于简单的一个,它没有问题(dgvAccounts是DataGridView):
DataTable dtusers = new DataTable("Users");
DataColumn col1 = new DataColumn("ID");
DataColumn col2 = new DataColumn("Key");
dtUsers.Columns.Add(col1);
dtUsers.Columns.Add(col2);
if (File.Exists("user.xml"))
dtUsers.ReadXml("user.xml");
dgvAccounts.DataSource = dtUsers;
....
dtUsers.WriteXml("user.xml");
但在另一个DataGridView的数据表,我喜欢从数据源获得是空的(dgvActions是DataGridView):
DataGridViewTextBoxColumn dgvcolA5 = new DataGridViewTextBoxColumn();
DataGridViewComboBoxColumn dgvcolA6 = new DataGridViewComboBoxColumn();
dgvActions.Columns.Add(dgvcolA5);
dgvActions.Columns.Add(dgvcolA6);
DataTable dtActions = (DataTable)dgvActions.DataSource;
dtActions.WriteXML("actions.xml");
我还尝试提前创建一个数据表,并将其添加为dgvActions。
所以,谁能帮我创建一个数据表为DataGridView或建议任何其他方式来存储和加载数据?
感谢安德烈
如何先设置数据表,然后将其设置为数据源,就像你在第一个例子中所做的那样(然后你不会从数据源中获得空数据表):
DataTable dtActions = new DataTable();
//Set DataTable columns here
dtActions.WriteXML("actions.xml");
dgvActions.DataSource = dtActions;