[c#] - dataGridView

Od: Datum: 05.04.13 22:38 odpovědí: 6 změna: 06.04.13 16:27

Jakym zpusobem muzu docilit toho kdyz v dataGridView edituji nejakou bunku a pri jejim opousteni se spusti nejak udalost, ktera by zkontrolovala, zda je zadana hodnota spravna a v pripade spatne hodnoty uzivateli nedovoli opustit danou bunku do te doby nez opravy jeji hodnotu? Jakou tedy pouzit udalost a jak zajistit danou funkci? Poradi nekdo?


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Datum: 05.04.13 22:51

Ta událost je CellValidating.

Podrobný postup zde: http://msdn.microsoft.com/en-us/library/ykdxa0bc.aspx

Ohodnoceno: 0x
 
Od: malouch
Datum: 05.04.13 23:05

No nevim nevim, tato udalost se mi spousti pokazde kdyz kliknu do bunky. Ale ja bych potreboval zapsat hodnotu do bunky a po kliknuti entru nebo prechodu na jinou bunku by se mi nejprve zkontrolovala aktualne zapsana hodnota a vyhodnotila a pokud by byla spatna tak by uzivatele drzela stale na te same bunce.

Datum: 05.04.13 23:30

Ta událost se má spouštět v okamžiku, kdy buňka ztrácí focus, ne kdy jej získá. Zkusím si to.

doplněno 05.04.13 23:38:

Tak ano, přesně tak to funguje. V té události se pak dá z argumentů zjistit, která buňka se má validovat a hodnota, která buňce je. V případě, že se nastaví Cancel na true, nedovolí to uživateli opustit buňku. Vše je vidět v tom příkladu, co jsem posílal, zejména v bodě 4.

Ohodnoceno: 1x
 
Od: malouch
Datum: 06.04.13 00:31

Omlouvam se, mate pravdu, mel jsem to nejprve poradne prohlednout. Ted mi to funguje tak jak ma.

Existuje nejaka moznost jak po pridani radku primo skocit do bunky nove pridaneho radku?

Od: malouch
Datum: 06.04.13 11:32

Na jakem principu si kontroluji ovladaci prvky formulare ve VisualStudiu? Ma na mysli to, ze mam formular a v nem kotel vstupnich poli a je asi hloupost po kazdem vyplneni jednotohp pole spoustet jeho vlastni udalost ktera by napr. kontrolovala zda jsou vsech pole vyplnene na napr. povolila by zobrazeni tlacitka na ulozeni. Pres co se toto resi? Je to nejak globalni udalost? Nebo se to hodi do nejakeho timeru?

Datum: 06.04.13 16:27
avatar

Definoval bych si nějaké základní typy, které očekávám: desetinné číslo, nezáporné celé číslo, string, string o délce x, string vyhovující reuglárnímu výrazu, e-mail, datum..

Každé pole by dostalo přidělen typ, při opuštění (event blur nebo lostfocus?) jakéhokoli pole by se spustil obecný handler, který by si podle zdroje eventu už dohledal, jakým způsobem má hodnotu kontrolovat. Při potvrzení formuláře pak tenhle handler spustit pro všechna pole.

Ohodnoceno: 0x
 

 

 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.