Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

potrebna pomoc oko tab-a

[es] :: .NET :: potrebna pomoc oko tab-a

[ Pregleda: 2355 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mvasicdo
Mladen Vasic
Doboj

Član broj: 104294
Poruke: 226
*.teol.net.



Profil

icon potrebna pomoc oko tab-a21.03.2007. u 08:29 - pre 208 meseci
E, ovako stvari stoje...
Na formi imam jedan text box (tbSifra) i jedan data grid view (dgvStavke), u data grid kontroli bitna je kolona Kolicina koja je upisiva, ostale su ReadOnly. Fokus je na tbSifra kontroli, kada barkod skenerom procitam artikal u tbSifra se ispise kod artikla i na dogadjaj TextChanged u bazi mi pronadje taj artikal i upise ga u data grid view, potom obrise sadrzaj tbSifra.

Mene interesuje kako mogu uraditi sledece:
Kada procitam kod skenerom i poslije unosa u data grid view, da mi fokus bude na unesenom redu i na koloni Kolicina data grida. Po defaultu, vrijednost Kolicine je 1, ako korisnik zeli da promjeni tu vrijednost treba samo da je otkuca.
Da li se moze rijesiti da korisnik ne mora koristiti TAB da bi se kretao sa tbSifra na Kolicina i obrnuto? Znaci, unosi artikle u pomocu skenera i ako ima potrebe da mijenja kolicinu, to uradi, a da pri tome ne mora kokristiti TAB ili klik misa da se vrati na tbSifra.

Nadam se da sam dobro objasnio....
 
Odgovor na temu

boysha

Član broj: 138554
Poruke: 6
*.yubc.net.



Profil

icon Re: potrebna pomoc oko tab-a21.03.2007. u 10:06 - pre 208 meseci
Citat:
mvasicdo: Da li se moze rijesiti da korisnik ne mora koristiti TAB da bi se kretao sa tbSifra na Kolicina i obrnuto? Znaci, unosi artikle u pomocu skenera i ako ima potrebe da mijenja kolicinu, to uradi, a da pri tome ne mora kokristiti TAB ili klik misa da se vrati na tbSifra.


Uh. Nisam koristio DataGridView nikada, ali mora da ima KeyPress event. Na njega nakačiš nešto ovog tipa:

Code:

private void dgvStavke_KeyPress(object sender, EventArgs e)
{
  if ((e as KeyEventArgs).KeyCode == Keys.Enter)
    tbSifra.Focus();
}


Pogledah DataGridView u object browser-u.. Za suprotan smer, probaj da nakačiš ovaj kôd negde nakon unosa vrednosti u tbSifra:
Code:

  dgvStavke.CurrentCell = NadjiCelijuKolicina(tbSifra.Text); // Ili nesto slično :)
  dgvStavke.BeginEdit(); // Ulazi u edit mode za aktivnu ćeliju.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: potrebna pomoc oko tab-a21.03.2007. u 11:30 - pre 208 meseci
Mislim da mu treba obrnut smer, kad ucita podatke i doda red u grid iz textbox onchanged handlera, da prebaci fokus na grid, na kolonu kolicina. Ja ne radim sa fabrickim gridovima, pa ne znam da li je moguce manipulisati gridom na taj nacin, ali alternativno mozes na isti binding source da nakacis jos jedan text box i da njega bindujes za kolicinu i po ubacivanju novog artikla u binding source (moras tu da ubacis, ne u sam grid) da prebacis fokus na text box za kolicinu.

Problem je samo sto ako operater ne vrati fokus na polje za sifru i skenira novi proizvod ode barkod u kolicinu Verovatno ima neko ovde ko je skorije radio POS sistem. U "moje vreme" smo merili time delay izmedju keystrokes, posto ljudi uvek kucaju dosta sporije nego sto "kuca" bar kod citac i to koristili kao indikator unosa kolicine versus unosa novog artikla. I kalibracija je bila veoma jednostavna, trebalo je samo skenirati jedan proizvod i program bi premerio time-delay za razlicite barkod citace. Opet POS sistemi koje vidim ovde ne pate od toga, cini mi se da je uredjaj a i prateci hardver/softver konfigurisan da hardverski razlikuje unos sa citaca od unosa sa tastature.

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

boysha

Član broj: 138554
Poruke: 6
*.yubc.net.



Profil

icon Re: potrebna pomoc oko tab-a21.03.2007. u 12:14 - pre 208 meseci
Citat:
mmix: Mislim da mu treba obrnut smer, kad ucita podatke i doda red u grid iz textbox onchanged handlera, da prebaci fokus na grid, na kolonu kolicina.


Mm, pa.. da. Prebaci fokus na grid, na ćeliju u dodatom redu, u koloni "Kolicina". I da stavi tu ćeliju u edit mode, koliko sam ja razumeo. Evo mali update mog predloženog kôda:

Code:

  // ... Ovde si dodao novi red u dgvStavke, 
  // i zapamtio mu index kao int lastRowIndex :)
  
  // Postavi fokus na dgvStavke. (Ovo je mozda nepotrebno)
  dgvStavke.Focus();

  // Postavi celiju iz dodatog reda i kolone "Kolicina" kao aktivnu.
  dgvStavke.CurrentCell = dgvStavke["Kolicina", lastRowIndex];

  // Aktiviraj edit mode za aktivnu celiju i selektuj vrednost celije
  // ...da bi bila prepisana cim se ukuca nova kolicina.
  dgvStavke.BeginEdit(true);


Trebalo bi da DataGridView sam skroluje da prikaže aktivnu ćeliju, ako je iole pametan :)
 
Odgovor na temu

mvasicdo
Mladen Vasic
Doboj

Član broj: 104294
Poruke: 226
*.teol.net.



Profil

icon Re: potrebna pomoc oko tab-a21.03.2007. u 12:16 - pre 208 meseci
mmix:

Citat:
Ja ne radim sa fabrickim gridovima, pa ne znam da li je moguce manipulisati gridom na taj nacin,


Mozes li mi preporuciti neki "dobar" a da je besplatan.

Citat:
Problem je samo sto ako operater ne vrati fokus na polje za sifru i skenira novi proizvod ode barkod u kolicinu


Upravo to hocu da izbjegnem.

Citat:
U "moje vreme" smo merili time delay izmedju keystrokes, posto ljudi uvek kucaju dosta sporije nego sto "kuca" bar kod citac i to koristili kao indikator unosa kolicine versus unosa novog artikla.


Moze li malo vise o ovome, na koji nacin se mjere brzine, na koji dogadjaj idt.
 
Odgovor na temu

boysha

Član broj: 138554
Poruke: 6
*.yubc.net.



Profil

icon Re: potrebna pomoc oko tab-a21.03.2007. u 13:48 - pre 208 meseci
Uh. Moja greška, ni na kraj pameti mi nije bilo da bar code čitač simulira keypress događaje.
Čisto iz radoznalosti, kako unose količinu ako kôd upiše čitač? Pre čitanja?

Neelegantno rešenje bi bilo da nakon što čitač pogrešno upiše kôd u količinu, proveriš šta je upisano, pa napraviš neki undo-redo u tbSifra, računajući na to da se šifra bitno razlikuje od količine. :)
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: potrebna pomoc oko tab-a21.03.2007. u 18:56 - pre 207 meseci
Citat:
mvasicdo:
1. Mozes li mi preporuciti neki "dobar" a da je besplatan.
2. Moze li malo vise o ovome, na koji nacin se mjere brzine, na koji dogadjaj idt.


1. Nazalost ne, nema za dz. Ono sto mi koristimo je Infragistics UltraSuite, cijena sitnica
2. Ne meris brzinu nego razmak izmedju dva WM_KEYDOWN (uz "gutanje" KEYDOWN i UP) eventa i ako je taj razmak u okviru kalibrisanog thresholda onda se baferuje privremeno. Kad prazan period (uz upotrebu tajmera) predje drugi threshold (nazovimo ga release threshold) ili kad je razmak izmedju dva tastera van kalibrisanog thresholda onda se proces grana na dve strane: a) ako je bafer napunjen sa npr 13 karaktera pretpostavlja se da je barcode unutra i dize se event sa kodom i bafer se ubija, i onda handler procesira bar kod b) ako nije pretpostavlja se da korisnik kucka i onda se sadrzaj bafera ubaci nizvodno kao serija novih "vestackih" WM_KEYDOWN/WM_KEYUP poruka cime se simulira ono sto je vec iskucano. Posto su vremenski periodi u pitanju veoma mali, korisnik nema osecaj da se bilo sta baferuje i krije od njega. Posto je vecina barkod citaca bila konfigurabilna (moga se odrediti vremenski razmak izmedju cifara izmedju ostalog), postojala je i kalibracija gde je ocitan random bar-kod i izmerena srednja vrednost razmaka izmedju cifara i to (ako se dobro secam) +20% je bio donji threshold, 2x ta vrednost je bio release threshold.
Imali smo naravno i manuelni mod (na F1 ) kojim se iskljucivalo ovo procesiranje i omogucavalo korisnku da sam ukuca bar kod na tastaturi, za slucajeve kad je bar kod zamrljan, pocepan i iz drugih razloga necitljiv za citac.


Citat:
boysha: Uh. Moja greška, ni na kraj pameti mi nije bilo da bar code čitač simulira keypress događaje.
Čisto iz radoznalosti, kako unose količinu ako kôd upiše čitač? Pre čitanja?


Profilisanjem procesa unosa podataka, kao sto mvasicdo pokusava da uradi sad. Iako po meni bezvezno, resenje po kome bar kod citac simulira tastaturu je bilo veoma privlacno jer nije zahtevalo dodatne investicije niti dodatne drajvere i radilo je lepo pod DOS-om koji nije ni imao drajvere, a posto su 99% bar kod citaca takvi i rade na isti princip, onda se ni POS aplikacija nije vezivala za odredjeni model bar kod citaca, sto je olaksavalo problem implementacije.

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: .NET :: potrebna pomoc oko tab-a

[ Pregleda: 2355 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.