在listview c ++ / cli中自动更新csv文件

时间:2015-07-27 20:27:05

标签: listview csv c++-cli

我在VS2010 c ++ / cli中创建了一个列表视图,然后所有项目都保存在* .csv文件中。 通过右键单击将从列表视图中删除项目的项目,我在listview中做了更多。

private: System::Void removeFromListToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^  e) {
    listView1->Items->Remove(listView1->SelectedItems[0]);
}

enter image description here 它可以从列表视图中删除,但我无法弄清楚如何保存修改后的列表视图。 是否有人可以做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以做的是每次删除或添加一个项目时遍历列表视图中的项目。我建议为此编写一个函数,以便您可以更频繁地调用它而无需再次编写代码:

void WriteItemsToCsv(){
    StreamWriter^ CsvWriter = gcnew StreamWriter(/* Path to your .csv file */);
    for each(ListViewItem^ li in listView1->Items)
        CsvWriter->WriteLine(li->Text + ",");

    CsvWriter->Close();
}

这样,每次调用WriteItemsToCsv()时,它都会将listView1的所有名称写入指定的文件中。请记住在CsvWriter的声明中插入文件的路径。

修改 我的错,在.csv中的分离是没有的;但是,。在代码示例中编辑。

编辑2 DataGridView解决方案

  1. 将DataGridView添加到设计器中的表单上。
  2. 将DataSet添加到设计器中的表单上。
  3. 在DataGridView的属性中," DataSource"选择你的数据集。
  4. 在您的数据集中,您现在可以创建代表您的人员的表格。
  5. 单击您的DataSet,然后单击属性" Tables"。
  6. 旁边的浏览器符号
  7. 在那里添加包含所有必需属性的表。它应该是这样的:
  8. enter image description here

    在您的代码中,现在您可以使用DataSet->ReadXml("test.xml");进行阅读,然后将数据写入xml,如DataSet->WriteXml("test.xml");

    告诉我这是否适合您;)