Zdravím všechny, řeším problém s aktualizací datasetu (je jedno jestli typového či netypového) z ovládacích prvků umístěných na objektu TabControl. Ten má dvě záložky. Na každé záložce je několik ovl. prvků. Jejich svázání s datasetem (tabulkou v datasetu) je provedeno klasickým způsobem, tedy :
Me.txtPole1.DataBindings.Add("Text",DataSet.Tables("Tabulka"),"PoleTabulky")
Když pak spustím tenhle form, ovl. prvky v TabControlu se zaktualizují podle očekávání, tedy zobrazují data z tabulky datasetu. Potud je vše v naprostém pořádku. Problém nastane v okamžiku, kdy změním obsah některého z ovladacích prvků. Po zavření formu a jeho opětovném otevření (běh programu není přerušen) se do TabControlu načtou data, včetně změněné hodnoty, jenže jen na té záložce, kde jsem provedl změnu. Ovl. prvky na druhé záložce zůstávají prázdné. Tento problém nenastane pouze v tom případě, že po provedení změny na záložce 1 překliknu i na záložku 2. Jinými slovy, program zaktualizuje pouze tu část datasetu, která je svázána s ovl. prvky aktuálně vybrané záložky. Zjistil jsem, že k tomuto stavu nedochází v případě, že dataset zaktualizuji následujícím způsobem :
DataSet.Tables("Tabulka1").Rows(0).Item("Pole1") = Me.txtPole1.Text
Zkoušel jsem změnit i metodu aktualizace z výčtu UpdateMode (Never, OnPropertyChange, OnValidation) třídy DataBinding, ale bez výsledku. Přitom DataBindings bez jakýchkoliv problémů používám na všech formulářích. Problém nastal jen v případě použití TabControl. Netušíte, kde by mohl být problém? Díky moc za jakoukoliv pomoc.
|