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

dbedit u dbgridu, kako ?

[es] :: Pascal / Delphi / Kylix :: dbedit u dbgridu, kako ?

[ Pregleda: 1786 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

franjo_tahi
Franjo Tahi
Zagreb

Član broj: 34712
Poruke: 399
*.gs1hr.org.



+1 Profil

icon dbedit u dbgridu, kako ?10.12.2008. u 09:20 - pre 187 meseci
Trebao bih postaviti dbedit u dbgrid, tako da se editiranje vrši u njemu.

U stvari, moja kontrola, koja je nasljednik dbedita, a služi za editiranje datuma/vremena.

Pokušao sam je staviti kao checkbox u OdDrawColumnCell, ali ne radi dobro.

1. ako provjeravam prije iscrtavanja da li je state gdSelected ili gdFocused - iscrtava se samo kad sam na koloni.
2. ako ne provjeravam state već ju iscrtavam uvijek - poziva se beskonačno...
3. klikom na kolonu - dbedit i početkom editiranja - editira se podatak u gridu, a ne u dbeditu i ne vidi se unos.

Problem završetka unosa sam riješio u proceduri dbedit.OnKeyPress. Napravim post u dataset i gridu dam focus. To je ok. Problem je početak editiranja...

Code:

procedure TfmSud.dbgDrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
   if (Column.Field.FieldName = dbDatKam.DataField) and (gdSelected in state) then
    begin
     dbDatKam.Left := Rect.Left + DBG.Left + 2;
     dbDatKam.Top := Rect.Top + DBg.top + 2;
     dbDatKam.Width := Rect.Right - Rect.Left;
     dbDatKam.Height := Rect.Bottom - Rect.Top;
     dbDatKam.BringToFront;
    end;
end;


Ideja kako to riješiti?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: dbedit u dbgridu, kako ?10.12.2008. u 12:56 - pre 187 meseci
Kontrolu treba da prikažeš i otpočneš izmenu ne u OnDraw eventu već posle pritiska mišem na datu ćeliju, pritiska tastera i slično kako se već okida default editor u gridu.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: dbedit u dbgridu, kako ?

[ Pregleda: 1786 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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