如何将ListView内容保存到文本文件?
答
在.NET中没有任何东西会为你做到这一点,你需要自己去做这件事。
无论什么事件都会触发您的保存:打开文件,遍历列表内容,将文本写入文件,然后关闭文件。收盘当然可以通过using
来完成:
using (var tw = new StreamWriter(filename)) {
foreach (ListViewItem item in listView.Items) {
tw.WriteLine(item.Text);
}
}
答
如果要导出所有子项必须使用此代码:
StringBuilder sb;
if (listView.Items.Count > 0)
{
// the actual data
foreach (ListViewItem lvi in listView.Items)
{
sb = new StringBuilder();
foreach (ListViewItem.ListViewSubItem listViewSubItem in lvi.SubItems)
{
sb.Append(string.Format("{0}\t", listViewSubItem.Text));
}
sw.WriteLine(sb.ToString());
}
sw.WriteLine();
}
答
这应该工作100%,我做这一个项目我的。 我知道这是4年太晚了,但在这里。
private void export2File(ListView lv, string splitter)
{
string filename = "";
SaveFileDialog sfd = new SaveFileDialog();
sfd.Title = "SaveFileDialog Export2File";
sfd.Filter = "Text File (.txt) | *.txt";
if (sfd.ShowDialog() == DialogResult.OK)
{
filename = sfd.FileName.ToString();
if (filename != "")
{
using (StreamWriter sw = new StreamWriter(filename))
{
foreach (ListViewItem item in lv.Items)
{
sw.WriteLine("{0}{1}{2}", item.SubItems[0].Text, splitter, item.SubItems[1].Text);
}
}
}
}
}
我该如何读取下一次启动应用程序时创建的填充ListView的文件? – 2016-08-21 18:12:08