[ AMD guy @ 18.12.2008. 08:13 ] @
Imam 2 listview-a i jedno dugme, interesuje me kako da na button_click_event da se vrednost iz prvog listview-a prekopira u drugi listview? |
[ AMD guy @ 18.12.2008. 08:13 ] @
[ Igor Gajic @ 18.12.2008. 10:19 ] @
Dodaj sledeci kod u click event Code: if (listView1.SelectedItems.Count > 0) listView2.Items.Add((ListViewItem)listView1.SelectedItems[0].Clone()); [ AMD guy @ 18.12.2008. 11:37 ] @
Citat: Igor Gajic: Dodaj sledeci kod u click event Code: if (listView1.SelectedItems.Count > 0) listView2.Items.Add((ListViewItem)listView1.SelectedItems[0].Clone()); "listView2.Items.Add((ListViewItem)listView1.SelectedItems[0].Clone());" jel ovaj ListViewItem selectovani item u list view listi koji hocu da kopiram? [ Igor Gajic @ 18.12.2008. 13:01 ] @
Da upravo tako.
Mislim da je trivijalno prepraviti da kopira odredjenu vrednost. Samo zameni SelectedItems sa Items... [ AMD guy @ 08.04.2009. 00:56 ] @
Problem je sledeci. Imam ListView na jednoj formi i textboxove na drugoj formi, kako da vrednosti iz textboxova na drugoj formi prebacim u ListView na prvoj formi.
Ako bi se sve to nalazi na jednoj formi onda to radim ovako: Code: string[] myItems = new string[] { textBox1.Text, textBox2.Text, textBox3.Text }; ListViewItem lvi = new ListViewItem(myItems); // insert all the items into the listview at the last available row listView1.Items.Add(lvi); Problem je u tome sto iz druge forme nemogu da pristupim listview-u na prvoj formi [ Igor Gajic @ 08.04.2009. 01:06 ] @
Zavisi sta pokusavas da uradis...
Ako ti se druga forma pojavljuje, korisnik unese podatke i zatvori onda mozes ovako resenje: Code: //dodas f-ju u drugoj formi public ListViewItem NapraviLVI() { string[] myItems = new string[] { textBox1.Text, textBox2.Text, textBox3.Text }; ListViewItem lvi = new ListViewItem(myItems); return lvi; } // u prvoj pormi pozivas sa Form2 f2=new Form2(); f2.ShowDialog(); // insert all the items into the listview at the last available row listView1.Items.Add(f2.NapraviLVI()); f2.Dispose(); U slucaju da forme treba da budu paralelno prikazane onda prosledjujes referencu na formu1 u konstruktor forme2 i koristis slicnu logiku... [ AMD guy @ 08.04.2009. 01:19 ] @
Citat: Ako ti se druga forma pojavljuje, korisnik unese podatke i zatvori onda mozes ovako resenje: Da to sam hteo. Hvala ti, radi [ AMD guy @ 08.04.2009. 19:24 ] @
Imam jos jedan problem, koristim SaveFileDialog da bi snimio podatke iz listview u txt file. To radi dobro ali problem je u tome sto ja imam 4 kolone a snima mi u fajl samo 2 kolone. Imam 4 kolone Marka, Boja, Godiste i registracija.
Code: writer.WriteLine(item.Text+ " " +item.SubItems[1].Text); Ovo mi snima samo marku i boju ako promenim item.Subitems[1].Text u item.Subitems[2].Text onda mi snima marku i godiste. Ne znam kako da mi snima sve cetiri kolone Evo koda pa gledajte Code: private void btnRaspoloziviSnimi_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; if (sfd.ShowDialog()==DialogResult.OK) { Save(sfd.FileName); } } private void Save(string FileName) { try { StreamWriter writer = new StreamWriter(FileName); foreach (ListViewItem item in listViewRaspolozivi.Items) { writer.WriteLine(item.Text+ " " +item.SubItems[1].Text); } writer.Close(); MessageBox.Show("Uspesno snimanje","Uspeh",MessageBoxButtons.OK,MessageBoxIcon.Information); } catch (System.Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } [EDIT] Pronasao sam resenje Code: writer.WriteLine(item.Text+ " " +item.SubItems[1].Text+" "+item.SubItems[2].Text+" "+item.SubItems[3].Text); [Ovu poruku je menjao AMD guy dana 09.04.2009. u 07:28 GMT+1] [ AMD guy @ 20.04.2009. 23:58 ] @
Jos jedan problem sa Listview Problem je u tome sto nece da upise u Listview, procita podatke iz txt fajla ali dalje nece.
Code: private void btnUcitaj_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter ="txt files (*.txt)|*.txt|All files (*.*)|*.*"; if (ofd.ShowDialog()==DialogResult.OK) { string dataToRead = Read(ofd.FileName); } } private string Read(string file) { StreamReader reader = new StreamReader(file); string data = reader.ReadToEnd(); reader.Close(); return data; //Procita iz txt fajl string[] niz = data.Split(new char[] {','}); // (Warning) Unreachable code detected foreach (string s in niz) { listViewRaspolozivi.Items.Add(s); } } Evo sta kaze debager. Procita text fajl, ali to procitano mi ne upisuje u listview(imam 4 kolone). Ako ce biti od pomoci mogu da uploadujem souce kod. Mozda je nekome ovo smesan problem ali ja jos uvek ucim. Pozdrav i hvala unapred. [ sallle @ 21.04.2009. 00:50 ] @
kod ispod
Code: return data; se nikada ne izvrsi. Sa return zavrsavas metodu (zato ti kompajler i prijavi unreachable code). spusti return data; da bude poslednja naredba u metodi. [ AMD guy @ 21.04.2009. 01:50 ] @
Da, vidim sad. Radi ali ne kako treba sada mi sve upisuje u prvu kolonu. Imam 4 kolone (Marka, Boja, Godiste, Registracija) a iz fajla treba da mi upise ovo
(Zastava,Zuta,2001,BG 456-222). Jel neko ima ideju kako ? [ AMD guy @ 21.04.2009. 22:17 ] @
Code: private void btnUcitaj_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter ="txt files (*.txt)|*.txt|All files (*.*)|*.*"; if (ofd.ShowDialog()==DialogResult.OK) { string dataToRead = Read(ofd.FileName); } } private string Read(string file) { StreamReader reader = new StreamReader(file); string data = reader.ReadLine(); foreach (string piece in data.Split(',')) { listViewRaspolozivi.Items.Add(piece); } reader.Close(); return data; } Imam problem sa ovim. Naime imam 4 kolone (Marka, Boja, Godiste, Registracija) a iz fajla treba da mi upise ovo (Zastava,Zuta,2001,BG 456-222). Ovaj kod upisuje sve u prvu kolonu a treba da se upisuje svaki upis u posebnu kolonu(Npr Zastava u Marku, Zuta u Boju itd). Jel neko ima ideju kako ? [ Igor Gajic @ 21.04.2009. 22:22 ] @
Dodaj 4 kolone u listView, tj boja,marka....
I... Code: private string Read(string file) { StreamReader reader = new StreamReader(file); string data; while((data=reader.ReadLine)!=null) listViewRaspolozivi.Items.Add(data.Split(',')); reader.Close(); return data; } [ AMD guy @ 21.04.2009. 22:52 ] @
Te cetiri kolone vec postoje dodao sam ih preko dizajnera,
Jel mislis na nesto ovako Code: private ListViewItem UcitajLVI() { string[] LviItems = new string[] { listViewRaspolozivi.Columns.Add("Marka",10,HorizontalAlignment.Center), listViewRaspolozivi.Columns.Add("Boja",10,HorizontalAlignment.Center), listViewRaspolozivi.Columns.Add("Godiste",10, HorizontalAlignment.Center), listViewRaspolozivi.Columns.Add("Registracija",10,HorizontalAlignment.Center) }; ListViewItem lvi = new ListViewItem(LviItems); return lvi; } [ Igor Gajic @ 21.04.2009. 23:02 ] @
Citat: Jel mislis na nesto ovako Mislim da bi ti ovo trebalo raditi, ako si te 4 kolone dodao preko dizajnera Code: private string Read(string file) { StreamReader reader = new StreamReader(file); string data; while((data=reader.ReadLine())!=null) listViewRaspolozivi.Items.Add(new ListViewItem(data.Split(','))); //ispravka reader.Close(); return data; //ne znam cemu ovo sluzi, mislim da ti je nepotrebno.... } UcitajLVI() <-- Totalno nepotrebno.... [ AMD guy @ 21.04.2009. 23:22 ] @
Extra, radi. Ako zakomentarisem return data daje mi gresku
"Error 1 'Automobili.FormAutomobili.Read(string)': not all code paths return a value". Code:
Mislim da Code: vraca text koji je procitan iz tekst fajla.[/code]return data Ovo je uradjeno bez UcitajLVI Debugging return data (Step into) string dataToRead = Read(ofd.FileName) [ Igor Gajic @ 21.04.2009. 23:27 ] @
Malo bolje napisano, bez extra f-ja....
Code: private void btnUcitaj_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter ="txt files (*.txt)|*.txt|All files (*.*)|*.*"; if (ofd.ShowDialog()==DialogResult.OK) { using(StreamReader reader = new StreamReader(file)) { string data; while((data=reader.ReadLine())!=null) listViewRaspolozivi.Items.Add(new ListViewItem(data.Split(','))); //ispravka } } } [ AMD guy @ 21.04.2009. 23:47 ] @
Hvala na pomoci.
Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.
|