ena error eka mokakda, umba gahapu code eka daapan we can help
oke machan xml document ekata write wenne naha. xml ekata write wenne form closing event ekedi. eth machan listview ekata details add karala form close karata close wenne na close wennema na. ubata welawa thiyenawanam me video eka balahan oke thiyena widiyata karath hariyanne naha.
http://thenewboston.org/watch.php?cat=15&number=174
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Xml;
namespace AddressBook
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
List<person> people = new List<person>();
private void Form1_Load(object sender, EventArgs e)
{
String path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if (!Directory.Exists(path + "\\AddressBook Data\\"))
Directory.CreateDirectory(path + "\\AddressBook Data\\");
if (!File.Exists(path + "\\AddressBook Data\\PeopleData.xml"))
{
XmlTextWriter xw = new XmlTextWriter(path + "\\AddressBook Data\\PeopleData.xml",Encoding.UTF8);
xw.WriteStartElement("People");
xw.WriteEndElement();
xw.Close();
}
}
person p;
private void button2_Click(object sender, EventArgs e)
{
p = new person();
p.name = textBox1.Text;
p.email = textBox2.Text;
p.streetAddress = textBox3.Text;
p.birthday = dateTimePicker1.Value;
p.addtionalNote = textBox4.Text;
people.Add(p);
listView1.Items.Add(p.name);
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
dateTimePicker1.Value = DateTime.Now;
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
textBox1.Text = people
[listView1.SelectedItems[0].Index].name;
textBox2.Text = people
[listView1.SelectedItems[0].Index].email;
textBox3.Text = people
[listView1.SelectedItems[0].Index].streetAddress;
textBox4.Text = people
[listView1.SelectedItems[0].Index].addtionalNote;
dateTimePicker1.Value = people
[listView1.SelectedItems[0].Index].birthday;
}
}
private void button3_Click(object sender, EventArgs e)
{
remove();
}
void remove()
{
try
{
listView1.Items.Remove(listView1.SelectedItems[0]);
people.RemoveAt(listView1.SelectedItems[0].Index);
}
catch { }
}
private void removeToolStripMenuItem_Click(object sender, EventArgs e)
{
remove();
}
private void button1_Click(object sender, EventArgs e)
{
people
[listView1.SelectedItems[0].Index].name = textBox1.Text;
people
[listView1.SelectedItems[0].Index].email = textBox2.Text;
people
[listView1.SelectedItems[0].Index].streetAddress = textBox3.Text;
people
[listView1.SelectedItems[0].Index].addtionalNote = textBox4.Text;
people
[listView1.SelectedItems[0].Index].birthday = dateTimePicker1.Value;
listView1.SelectedItems[0].Text = textBox1.Text;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
XmlDocument xdoc = new XmlDocument();
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
xdoc.Load(path + "\\AddressBook Data\\PeopleData.xml");
XmlNode xnode = xdoc.SelectSingleNode("People");
xnode.RemoveAll();
foreach (person p in people)
{
XmlNode xtop = xdoc.CreateElement("Person");
XmlNode xname = xdoc.CreateElement("Name");
XmlNode xemail = xdoc.CreateElement("Email");
XmlNode xstreet = xdoc.CreateElement("Street Add");
XmlNode xbirthday = xdoc.CreateElement("BirthDay");
XmlNode xnote = xdoc.CreateElement("Additional Note");
xname.InnerText = p.name;
xemail.InnerText = p.email;
xstreet.InnerText = p.streetAddress;
xbirthday.InnerText = p.birthday.ToFileTime().ToString();
xnote.InnerText = p.addtionalNote;
xtop.AppendChild(xname);
xtop.AppendChild(xemail);
xtop.AppendChild(xstreet);
xtop.AppendChild(xbirthday);
xtop.AppendChild(xnote);
xdoc.DocumentElement.AppendChild(xtop);
xdoc.Save(path + "\\AddressBook Data\\PeopleData.xml");
}
}
}
class person
{
public String name
{
get;
set;
}
public String email
{
get;
set;
}
public String streetAddress
{
get;
set;
}
public DateTime birthday
{
get;
set;
}
public String addtionalNote
{
get;
set;
}
}
}