• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 643
  • Last Modified:

Save and load Listview content

HI,

I have the methode for saving the listview content to file.
But I don't have the methode for loading the content of the file to listview.

Who can help me?

Greetings, Peter Kiers
private void button3_Click(object sender, EventArgs e)
        {
            TextWriter tw = new StreamWriter("Data\\Glucose.sav");
            StringBuilder listViewContent = new StringBuilder();
            for (int item = 0; item < this.lstvGlucose.Items.Count; item++)
            {
                for (int subitem = 0;
                   subitem < this.lstvGlucose.Columns.Count;
                   subitem++)
                {
                    listViewContent.Append
                    (this.lstvGlucose.Items[item].SubItems[subitem].Text);
                    if (subitem < this.lstvGlucose.Columns.Count - 1)
                        listViewContent.Append(",");
                }
                tw.WriteLine(listViewContent);
                listViewContent = new StringBuilder();
            }
            tw.Close();
        }

Open in new window

0
peterkiers
Asked:
peterkiers
  • 2
  • 2
1 Solution
 
abdkhlaifCommented:
may I ask why are you asking the same question again?
0
 
peterkiersAuthor Commented:
Found it:

Greetings, Peter Kiers
private void button3_Click(object sender, EventArgs e)
        {
            FileStream fsWrite = File.Open("Glucose.dat", FileMode.Create, FileAccess.ReadWrite);
            BinaryFormatter binfmt = new BinaryFormatter();
            binfmt.Serialize(fsWrite, new ArrayList(lstvGlucose.Items));
            fsWrite.Close();
        }
        /*--------------------------------------------------------------------*/
        private void button2_Click(object sender, EventArgs e)
        {
            FileStream fsRead = File.Open("Glucose.dat", FileMode.Open, FileAccess.ReadWrite);
            binfmt = new BinaryFormatter();
            ArrayList deserialized_array_list = (ArrayList)binfmt.Deserialize(fsRead);
            Array listviewitem_array = (deserialized_array_list).ToArray(typeof(ListViewItem));
            lstvGlucose.Items.AddRange((ListViewItem[])listviewitem_array);
            fsRead.Close();
        }
        /*--------------------------------------------------------------------*/

Open in new window

0
 
abdkhlaifCommented:
cancel the question to save your points
0
 
peterkiersAuthor Commented:
This is the best solution because it works great and fast.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now