Hodnota CheckBox v DataGridu   zodpovězená otázka

VB.NET, WinForms

VS2008

Mám DataGrid připojený k datům v DataSet. Jeden ze sloupců je CheckBox.

Po určité době 2s (pomocí Timer) chci kontrolovat, zda byl změněn některý CheckBox.

Problém je v tom, že změněná hodnota CheckBox (označení/odznačení) se propíše do Value CheckBoxu až po přejítí na následující řádek.

Lze toto řešit? Potřebuji zjistit i případ že uživatel zatrhl CheckBox a stále na řádku stojí.

Děkuji.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Hůř to snad ani vymyslet nejde. Díval jste se vůbec jaké události má DataGridView? Proč nepoužijete událost DataGridView.CellValueChanged, která obsahuje všechny potřebné informace o provedené změně?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za "vysvětlení", ale není možné, že Vámi uváděná vlastnost (DataGridView.CellValueChanged) také nastane až při přesunu na následující řádek DataGridView???

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

Tato událost nastává při změně hodnoty buňky. Ať už programové, nebo uživatelské - potvrzení nové hodnoty klávesou Enter, přesun na vedlejší buňku nebo na další řádek. Nastudujte si to v MSDN.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za vysvětlení, má potřeba je jiná, připadá mi, že jste zbytečně podrážděný.

Pěkný den!!!!

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

Vy chcete zjistit, zda-li byl zaškrtnutý CheckBox v DataGridView. Zaškrtnutí znamená změnu dat (Boolean) v buňce řádku DataGridViewu. Proč byste měl zbytečně používat Timer pro periodické zjišťování zda-li byly některé řádky zaškrtnuty, když vás na to může upozornit DataGridView automaticky?

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

Souhlasím, že Váš postup je hodně zvláštní.

Nicméně aby se Vám projevila daná změna zkuste toto:

DatagriView.EndEdit()

jde o to, že pokud jste ještě na tom řádku, a je stále v editačním režimu, nejsou tyto změny zahrnuty. To nastane až po opuštění řádku, nebo editačního režimu (nebo alespoň tak to já chápu a používám).

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za Vaše řešení, to je úplně přesně ono.

Tak jednoduché.

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