Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 导入/导出格式为C的DataGridView#_C#_Winforms_Datagridview_Import_Export - Fatal编程技术网

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

C# 导入/导出格式为C的DataGridView#,c#,winforms,datagridview,import,export,C#,Winforms,Datagridview,Import,Export,我已经在VisualStudio的界面生成器中创建了一个DataGridView。DataGridView有三列,其中一列包含复选框。 应用程序启动时,datagridview应为空(标头除外)。这就是DataGridView目前没有数据源的原因。我正在尝试将其导出为XML文件,以便下次打开应用程序时可以导入此文件 我已经尝试了很多方法来导出和导入我的DataGridView,但没有一种效果很好。是否有适当的方法导入和导出DataGridView并保持其格式 将DataGridView保存为XM

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

我已经尝试了很多方法来导出和导入我的DataGridView,但没有一种效果很好。是否有适当的方法导入和导出DataGridView并保持其格式


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

您可以将网格绑定到datatable,并使用
datatable.ReadXml(“filename.XML”)
datatable.WriteXml(“filename.XML”)

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

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

正如前面指出的,
ReadXml
WriteXml
应该可以工作。我放在一起的最基本的原始示例在单元格中使用复选框时效果很好

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
的xml文件保存在
.exe
文件所在的位置:

<?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>

真的
第0行
假的
一排
正如前面指出的,
ReadXml
WriteXml
应该可以工作。我放在一起的最基本的原始示例在单元格中使用复选框时效果很好

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
的xml文件保存在
.exe
文件所在的位置:

<?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>

真的
第0行
假的
一排
正如前面指出的,
ReadXml
WriteXml
应该可以工作。我放在一起的最基本的原始示例在单元格中使用复选框时效果很好

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
的xml文件保存在
.exe
文件所在的位置:

<?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>

真的
第0行
假的
一排
正如前面指出的,
ReadXml
WriteXml
应该可以工作。我放在一起的最基本的原始示例在单元格中使用复选框时效果很好

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
的xml文件保存在
.exe
文件所在的位置:

<?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>

真的
第0行
假的
一排

json很小,看看这个解决方案json很小,看看这个解决方案json很小,看看这个解决方案json很小,看看这个解决方案谢谢。我已经尝试过了,但是当在单元格中使用复选框时,将网格绑定到数据表会导致问题。+1对于我来说,效果很好@Maarten1909在我的回答中,我提供了一个它是如何工作的例子。如果这仍然没有帮助,你会遇到什么问题?谢谢。我已经尝试过了,但是当在单元格中使用复选框时,将网格绑定到数据表会导致问题。+1对于我来说,效果很好@Maarten1909在我的回答中,我提供了一个它是如何工作的例子。如果这仍然没有帮助,你会遇到什么问题?谢谢。我已经尝试过了,但是当在单元格中使用复选框时,将网格绑定到数据表会导致问题。+1对于我来说,效果很好@Maarten1909在我的回答中,我提供了一个它是如何工作的例子。如果这仍然没有帮助,你会遇到什么问题?谢谢。我已经尝试过了,但是当在单元格中使用复选框时,将网格绑定到数据表会导致问题。+1对于我来说,效果很好@Maarten1909在我的回答中,我提供了一个它是如何工作的例子。如果这仍然没有帮助,你会遇到什么问题?