IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
martin.vip
Člen
Avatar
martin.vip:17.3.2015 20:31

Zdravím pánové... jak řešíte aktualizaci DGV po té co do něj uložíte, opravíte nebo smažete data? Myslím tím že na jednom formu mám DGV a dalším formem přidávám data přes InsertQuery. Jak aktualizujete po uložení dat, aby se okamžitě zobrazila v prvním formu.

 
Odpovědět
17.3.2015 20:31
Avatar
Nahoru Odpovědět
20.3.2015 9:04
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
martin.vip
Člen
Avatar
martin.vip:20.3.2015 18:52

Michale, myslíš reagovat na zavření druhého formu události znovu načtením dat do tabulky v prvním formu?
Šlo mi spíš o to jak to lidi řeší. Jestli někdo neobjevil nějakou vlastnost nebo funkci která to bude řešit nejlíp :-)

 
Nahoru Odpovědět
20.3.2015 18:52
Avatar
Odpovídá na martin.vip
Michal Štěpánek:20.3.2015 21:08

No zatím se C# teprve učím, dosud jsem aplikace dělal ve VB.NET a tam je toto o mnoho jednodušší, protože instanci formuláře nemusíš vytvářet, jen uděláš Form.Show() a v každém formu můžeš v podstatě cokoliv (řečeno s nadsázkou) měnit na všech ostatních formech.
Nicméně myslím si, že by se to mělo řešit způsobem popsaným v odkazu výše, tzn. předat referenci (na ten původní form) do toho přidávacího/e­ditovacího formu a pak "spustit" načtení dat do DGV v tom prvním formu pomocí nějaké "public void"...

Editováno 20.3.2015 21:10
Nahoru Odpovědět
20.3.2015 21:08
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
martin.vip
Člen
Avatar
martin.vip:21.3.2015 13:44

no to možná jo, jen jsem myslel jestli třeba někdo neobjevil nějakou knihovnu která by práci s DGV ulehčila a dala tomu trošku logiky.

 
Nahoru Odpovědět
21.3.2015 13:44
Avatar
Michal Štěpánek:21.3.2015 15:22

Nemyslím si, že práce s DGV by mohla být ještě jednodušší...

Nahoru Odpovědět
21.3.2015 15:22
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Gramli
Tvůrce
Avatar
Odpovídá na martin.vip
Gramli:21.3.2015 15:46

ja pracuju s DGV tak, ze mu predam datasource.
Pro tvuj pripad me napadlo toto:

//Form1
public partial class Form1 : Form
    {
        Form2 addForm;
        public Form1()
        {
          addForm = new Form2(this);
        }
     }

public partial class Form2 : Form
    {
        public MyTable dataSourceTable;
        private Form1 form1;
        public Form2(Form 1 form)
        {
          data = new MyTable();
          form1 = form;
        }

        public void UpdateDGV()//pokazde kdyz zmenis my table zavolas tohle
        {
          form1.dgv.DataSource = this.dataSourceTable;
         }
     }

class MyTable : DataTable // s touhle tridou pak muzes pracovat jako s tabulkou
    {
        //tady budes mit metody pro pro praci s daty

     }

Vsechny metody pro praci s daty mas ve Tride MyTable. Volas je z tridy Form2. Jakmile chces potvrdit zmeny a zobrazit je v dgv, zavolas UpdateDGV. Neni to nic svetoborneho, ale takhle bych to nejspis resil ja.

Editováno 21.3.2015 15:46
Nahoru Odpovědět
21.3.2015 15:46
Kdo to říká ten to je...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.