HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Egy új üres sor hozzáadásának letiltása a DBGrid-ben


Példaprogram letöltése

3825 bájt

Mai cikkünkben annak járunk utána, miként lehet a DBGrid komponensben elérni azt, hogy amikor az utolsó rekordon állunk, és a lefelé nyilat megnyomjuk, ne jelenjen meg automatikusan egy új üres sor.

Amikor megnyomjuk a lefelé nyilat az utolsó rekordon, valójában egy Insert művelet hajtódik végre. Kapunk egy új üres sort, ami rögtön megnyílik szerkesztésre. Hogy ezt elkerüljük, be kell avatkoznunk a tábla Insert műveletébe. Ezt a BeforeInsert esemény segítségével tehetjük meg, ahol megszakítjuk a beszúrás folyamatát.
procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);
begin
  if CheckLastRow then Abort;
end;
A könnyebb szemléltetés érdekében elhelyeztünk egy jelölőnégyzetet a Form-on, mellyel ki illetve be bekapcsolhatjuk az új sor hozzáadásának figyelését. Ez egy CheckLastRow nevű logikai típusú változónak ad igaz vagy hamis értéket attól függően, hogy figyelni szeretnénk-e az Insert műveletet. Amennyiben bekapcsolt állapotban van, megszakítjuk az Abort eljárás segítségével a beszúrás műveletét. Ezután a DBGrid-en figyelemmel kísérjük a billentyűlenyomásokat.
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
Begin
Megvizsgáljuk, hogy a lefelé nyíl lett-e megnyomva.
  if CheckLastRow and (Key = VK_DOWN) then
    begin
Amennyiben igen, a DisableControls segítségével letiltjuk a rekordok megjelenítését a Grid-ben, majd a következő rekordra mozgatjuk a mutatót.
      Table1.DisableControls;
      Table1.Next;
Ha ennek hatására az adattábla végére érünk, a rekordmutatót eggyel visszafelé mozgatjuk. Ellenkező esetben a Key értékét lenullázzuk és hagyjuk, hogy továbblépjen a mutató.
      if Table1.Eof then
        Table1.Prior
      else
        Key:=0;
Az EnableControls segítségével újra engedélyezzük az adatok megjelenítését.
      Table1.EnableControls;
    end;
end;

Cikksorozat



Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 552. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |