繁体   English   中英

导入/导出格式为C#的DataGridView

[英]Import/Export DataGridView with format C#

我已经在Visual Studio的界面生成器中创建了DataGridView DataGridView具有三列,其中一列包含复选框。 在应用程序启动时,datagridview应该为空(标题除外)。 这就是为什么DataGridView目前没有DataSource的原因。 我正在尝试将其导出到XML文件,以便下次打开应用程序时可以导入该文件。

我尝试了多种导出和导入DataGridView的方法,但是没有一种能很好地工作。 有没有适当的方式来导入和导出datagridviews并保持它们的格式?

将DataGridView保存为XML以外的其他格式也是可以的,但是由于应用程序必须在多台计算机上运行,​​这将在服务器上创建许多文件,因此文件大小应该很小。

您可以将网格绑定到数据表,并使用datatable.ReadXml("filename.xml")datatable.WriteXml("filename.xml")

正如rlee所指出的, ReadXmlWriteXml应该起作用。 我放在一起的最基本的原始示例在单元格中的复选框上工作得很好。

public partial class Form1 : Form
{
  private DataTable table;

  public Form1()
  {
    this.InitializeComponent();

    this.table = new DataTable("Table");
    DataColumn col1 = new DataColumn("Check", typeof(bool));
    DataColumn col2 = new DataColumn("Text", typeof(string));
    this.table.Columns.Add(col1);
    this.table.Columns.Add(col2);

    this.table.ReadXml("test.xml");
    this.dataGridView1.DataSource = this.table;
  }

  private void Form1_FormClosing(object sender, FormClosingEventArgs e)
  {
    this.table.WriteXml("test.xml");
  }
}

然后保存一个名为test.xml.exe文件所在的xml文件:

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <Table>
    <Check>true</Check>
    <Text>Row 0</Text>
  </Table>
  <Table>
    <Check>false</Check>
    <Text>Row 1</Text>
  </Table>
</DocumentElement>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM