[ Valerij Zajcev @ 16.08.2008. 19:18 ] @
Imam dve forme na obe listView kontrole koje citaju nesto iz baze. Kada otvorim prvu formu podaci se odmah ucitaju, kada otvorim drugu formu ja mogu da promenim neke podatke sto utice na ovu tabelu na prvoj formi. Ali kada promenim podatke na toj drugoj i zatvorim je moram da idem na neki "refresh" button da bih video promene.
Kako je najbolje da se napravi da kada zatvorim drugu formu on updatuje podatke u listView na prvoj?

PS
Metod koji mi popunjava lvw na prvoj formi sam probao da napravim publi i da ga pozovem pre nego sto zatvorim drugu formu, ali nece tako.
[ zenmorke @ 18.08.2008. 14:40 ] @
Kontam da na drugu formu ulazis sa prve i ako je tako onda mozes na prvoj formi da napravis public property bool Refresh npr. i da kada menjas podatke na drugoj formi da ga pozoves na odgovarajucem mestu i setujes da je true.Posle toga na prvoj formi ispitujes da li je true tamo gde punis listview i ako jeste pozoves metodu za punjenje opet.
[ Dragutin91 @ 19.08.2008. 00:19 ] @
U Program.cs izmeni kod tako da izgleda ovako:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    static class Program
    {
        public static Form1 frm1;
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            frm1 = new Form1();
            Application.Run(frm1);
        }

    }


Sad recimo da imash metod u Form1 RefreshData
iz Form2 pozvaces ga na sledeci nacin:
Code:
Program.frm1.RefreshData();
[ zenmorke @ 19.08.2008. 09:52 ] @
Ako vec imas napisanu metodu za punjenje listview-a najbolje je ti je ovako:

ovo bi bila prva forma sa koje otvaras drugu
Code:

namespace Projekat
{
    public partial class frmkategorija : Form
    {
        private static bool refreshFrm;
        public static bool RefreshFrm
        {
            get { return refreshFrm; }
            set { refreshFrm = value; }
        }

     }
}


Druga forma frmNoviProizvod

Code:

        private void btnSacuvaj_Click(object sender, EventArgs e)
        {
            
            if (btnSacuvaj.Text == "Sačuvaj")
            {
                try
                {
                    
                    {
                         //rutina za obradu dogadjaja posle koje punis opet kontrolu i setujes svojstvo na true
                        Helpers.FillListKategorija(listBox1, false);//punis kontrolu posle dogadjaja
                        frmkategorija.RefreshFrm = true;//setujes svojstvo sa prve forme na true

                    }
                    else
                    {
                        //
                    }
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }


prva forma
Code:

        private void btnNoviProizvod_Click(object sender, EventArgs e)
        {



            frmNoviProizvod noviProizvod = new frmNoviProizvod(kategorijaID);
            noviProizvod.ShowDialog();
            noviProizvod.Dispose();

            if (RefreshFrm)
            {
                Helpers.FillListKategorija(lbxKategorija, false);
            }
        }

To bi bilo to sto se tice osvezavanja kontroli sa jedne na drugu formu.
Nazivi metoda i kontrola su iz mog projekta,ali mislim da mozes da se snadjes...

[Ovu poruku je menjao zenmorke dana 19.08.2008. u 16:48 GMT+1]