Zdravím,
Mám jeden dotaz..V listview si zobrazuji do sloupců nacitana data z jednotlivych nodes v XML.
Chtěl bych nějak vyřešit to, abych vybrani jednoho řádku, kliknul na btn_editovat a otevřel se mi form, do kterého by se načetli údaje z nodu s odpovídajícím id.
Zkoušel jsem zatím něco takovéhoto:
Volám:
Na pozici 0 je uloženo vždy id
private void btn_upravit_Click(object sender, EventArgs e)
{
Edit_contact editovat_kontakt = new Edit_contact(listView_kontakty.FocusedItem.SubItems[0].Text);
editovat_kontakt.Show();
}
A ve formu to mám takto:
private void Edit_contact_Load(object sender, EventArgs e)
{
LoadXML();
}
private void LoadXML()
{
//Vytvorime novou instanci
XmlDocument doc = new XmlDocument();
//Nahrajem
doc.Load(Application.StartupPath + "\\seznam.xml");
XmlNode t = doc.SelectSingleNode("/seznam/zaznam[@id='"+ _id + "']");
foreach (XmlNode zaznam in t.ChildNodes)
{
if (zaznam.Name.Equals("foto"))
textBox_vl_foto.Text = zaznam.InnerText;
if (zaznam.Name.Equals("jmeno"))
{
_jmeno = zaznam.InnerText;
textBox_vl_jmeno.Text = _jmeno;
}
if (zaznam.Name.Equals("prijmeni"))
{
_prijmeni = zaznam.InnerText;
textBox_vl_prijmeni.Text = _prijmeni;
}
if (zaznam.Name.Equals("telefon"))
textBox_vl_telefon.Text = zaznam.InnerText;
if (zaznam.Name.Equals("skupina"))
_skupina = zaznam.InnerText;
}
}
Nejraději bych dal tu metodu LoadXML(); do samostatné třídy ale bohužel nevím, jak bych tam vyřešil návratové hodnoty pro txt_boxy, takže je to zatím vše v jednom formu, až na jeho volání s parametrem.
Tuší někdo, co dělám špatně?
Díky za každou radu.