[ atila74 @ 26.10.2005. 22:51 ] @
razlika DataSource = DataSetName.DataTableName i DataSource = DataSetName, "DataTableName" kada se koristi npr u DataBindings i slicno. Primetim da ima razlike jer su razliciti current ali koja? |
[ atila74 @ 26.10.2005. 22:51 ] @
[ mmix @ 27.10.2005. 13:16 ] @
Pretpostavljam da pitaš za WinForms.
Razlika je pozadinskom kodu koji održava vezu između databound kontrole i dataset-a. U pitanju je instanca klase CurrencyManager. Jedna od njenih osnovnih osobina je da drži "pointer" na trenutni red i osigurava da taj pointer pokazuje na isti red i u multi-row kontrolama (gridovima) i u datasetu. Problem nastaje kad je dataset vezan za single-field kontrole kao što je EditBox. Visual studio po defaultu koristi varijantu 2 (DataSetName, "DataTableName") kad binduješ kontrolu na polje u tabeli. Ako grid vežeš varijantom 1, imaćeš u stvari dva CurrencyManager-a (po obe varijante) i pomeranje pozicije u gridu neće automatski pomeriti red u EditBox-u, što predstavlja problem u master/detail formama gde grid služi za navigaciju a edit polja za izmene u trentunom redu. Da bi se "pointer" pomerao u issto vreme sve kontrole moraju biti vezane na isti Currency Manager, tj. sve moraju biti vezane ili po prvoj ili po drugoj vaarijanti, nikako mešano. ![]() Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|