C# Write listView to txt?

本文关键字:txt to listView Write | 更新日期: 2023-09-27 18:11:58

我有写listView到txt的问题,我的代码写所有列(第一和第二)到txt。我有这样的代码:

        using (StreamWriter sw = new StreamWriter("databaseEN.txt"))
        {
            foreach (ListViewItem item in listView1.Items)
            {
                sw.WriteLine(item.Text);
                for (int i = 1; i < item.SubItems.Count; i++)
                {
                    sw.WriteLine(item.SubItems[i].Text);
                }
            }
        }

我需要写第一列,而不是所有列到我的文本,如何改变这一点?

C# Write listView to txt?

ListViewItem包含许多子项,您可以从item变量访问这些子项。

item.SubItems[0].Text;

这将只获得第一列。还可以将列名指定为字符串

这就是我想出来的。这对我很有效。它看起来很长,因为注释和新添加的行,所以它在文本文件中看起来很好,当它被保存。

// Save File Button
        private void save_button_Click(object sender, EventArgs e)
        {
            System.IO.File.AppendAllText(@"C:'bbbb.txt", Environment.NewLine + Environment.NewLine);
            // Columns NAMES
            for (int c = 0; c < timeTable_listView.Columns.Count; c++)
            {
            System.IO.File.AppendAllText(@"C:'bbbb.txt", timeTable_listView.Columns[c].Text+"'t");
            }
            // Add new Line int the txt file
            System.IO.File.AppendAllText(@"C:'bbbb.txt", Environment.NewLine + Environment.NewLine);

            // Get all Items  "loop All items"
            for (int i = 0; i < timeTable_listView.Items.Count; i++)
            {
                // Loop all Sub Items of the Current Item "[i]"
                for (int a = 0; a < timeTable_listView.Items[i].SubItems.Count; a++)
                {
                    // Write the sub item "[a]" to the file with "tab betwen each item"
                    System.IO.File.AppendAllText(@"C:'bbbb.txt", timeTable_listView.Items[i].SubItems[a].Text + "'t");
                }
                // Add new Line "the new Row" starts at new line
                System.IO.File.AppendAllText(@"C:'bbbb.txt", Environment.NewLine);
            }
        }

Iamege:形式

图片:TXT File

只有代码 :----------------------------------------------------------------

private void save_button_Click(object sender, EventArgs e)
        {
System.IO.File.AppendAllText(@"C:'bbbb.txt", Environment.NewLine + Environment.NewLine);
            for (int c = 0; c < timeTable_listView.Columns.Count; c++)
            {
            System.IO.File.AppendAllText(@"C:'bbbb.txt", timeTable_listView.Columns[c].Text+"'t");
            }
            System.IO.File.AppendAllText(@"C:'bbbb.txt", Environment.NewLine + Environment.NewLine);
            for (int i = 0; i < timeTable_listView.Items.Count; i++)
            {
                for (int a = 0; a < timeTable_listView.Items[i].SubItems.Count; a++)
                {
                    System.IO.File.AppendAllText(@"C:'bbbb.txt", timeTable_listView.Items[i].SubItems[a].Text + "'t");
                }
                System.IO.File.AppendAllText(@"C:'bbbb.txt", Environment.NewLine);
            }
        }

删除以下行:

for (int i = 1; i < item.SubItems.Count; i++)
{
    sw.WriteLine(item.SubItems[i].Text);
}

编辑:从这里提取http://msdn.microsoft.com/en-us/library/aa983553(v=vs.71).aspx

Windows Forms ListView控件可以显示额外的文本,或者子项,用于Details视图中的每个项。显示第一列项目文本,例如员工编号。第二个,第三个,还有后续列显示第一列、第二列和后续列相关的子项。