Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 2.150 pregleda

Najnovija ↓

dbedit u dbgridu, kako ? 10.12.2008. u 10:20 · pre 217 meseci #1
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?
Re: dbedit u dbgridu, kako ? 10.12.2008. u 13:56 · pre 217 meseci #2
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.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme