Problém s DataBindingem na objektu TabControl   zodpovězená otázka

VB.NET, WinForms, Databáze

Dobrý den,

narazil jsem na docela zásadní problém s napojením objektů hostovaných v TabControlu na data.

Konkrétně v mém případě má objekt TabControl dvě záložky (TabPage1 a TabPage2). Na každé záložce je několik objektů TextBox. V metodě Load formuláře všechny objekty TextBox navážu na data, klasickým způsobem, tedy:

...
Me.txtJmeno.DataBindings.Add("Text",Me.BindingSource1,"JMENO",True,DataSourceUpdateMode.OnPropertyChanged,0)
...

Po spuštění formuláře se podle očekávání všechny objekty TextBox na aktivní záložce třídy TabControl naplní daty. Na záložce, která ovšem aktivní není k navázání dat nedojde (respektive dojde až v okamžiku, kdy se na ní přepnu a ona se stane aktivní).

Podle toho, co jsem se snažil vygooglit se jedná o poměrně známý problém, ale nikde jsem nenašel uspokojivé řešení, tedy to, jak navázat objekty, které jsou na neaktivní záložce na datový zdroj, abych následně mohl např. validovat jejich hodnoty.

Neřešil někdo z vám popsaný problém? Víte o nějakém jednoduchém způsobu, jak naplnit objekty na neaktivní záložce daty z datového zdroje za použití Bindingu?

Za jakékoliv rady nebo postřeby budu moc vděčný.

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nemůžu datově vázat komponenty, které nejsou "loadovány" při otevření formu. Databinding je třeba provést až v akci, která zaktivní přislušný TabPage

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den,

děkuji Vám za odpověď.

Já se mylně domníval, že v loadu formu mohu bindovat všechny objekty a pak z nich přes navázané vlastnosti mohu získat požadované hodnoty ze zdroje dat (i u objektů, které aktuálně nejsou zobrazeny).

Pokud ovšem prvek není zobrazen (není viditelný), tak to takto nefunguje.

V mém případě to není problém, mohu se odkazovat na hodnoty uložené přímo v datovém zdroji (konkrétně v BindingSource).

Jen je to pro mně nové zjištění.

Člověk se stále učí...

Ještě jednou děkuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback