Avatar billede eras Nybegynder
20. oktober 2003 - 12:46 Der er 7 kommentarer og
1 løsning

DBGrid. Undgå at "pil ned" opretter en ny tom linie/record

Ønsker at kunne editere udvalgte columms i en DBGrid og samtidig udelukke forsøg/fejlbrug i at oprette ny linie/record i DBGrid og den tilhørende TTable.
Dette ske nemlig hvis man står i nederste række og trykker "pil ned". Det må ikke være muligt. Samtidig låser systemet da mine "key" columms altid er - og skal være - sat til ReadOnly. 
Søger en simpel løsning på begynderniveau som ikke må udelukke dgMultiSelect funktionen.
Avatar billede stone Forsker
23. oktober 2003 - 23:02 #1
når din dbgrid er ReadOnly, skulle man ikke kunne oprette en ny record,

er din DataSource1 "AutoEdit" sat til [False]
Avatar billede stoney Nybegynder
23. oktober 2003 - 23:53 #2
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (key =  vk_Down ) and  (adoquery1.RecNo = adoquery1.RecordCount) then
key := 0;
end;

Stoney
Avatar billede stoney Nybegynder
24. oktober 2003 - 00:00 #3
Hvis du vil gøre kolonne 3 read-only

dbgrid1.Columns[2].ReadOnly := true;

Stoney
Avatar billede koden12 Nybegynder
26. oktober 2003 - 11:19 #4
Private Sub DBGrib1_OnAddNew()
OnAddNew := False;
Avatar billede stoney Nybegynder
26. oktober 2003 - 12:02 #5
koden12 >>

Det ligner det grimme VB

:-)

Stoney
Avatar billede koden12 Nybegynder
26. oktober 2003 - 17:01 #6
UPS... : )
Se bort fra den !
VH
Koden12

for i := 0 to Les_Strings.Count - 1 do
    begin
      Colonne := InitialCol;
      Inc(Ligne);
      StartPos := 1;
Avatar billede eras Nybegynder
10. november 2003 - 09:56 #7
Jeg mener heller ikke at dit seneste input kan anvendes
Avatar billede eras Nybegynder
10. november 2003 - 10:18 #8
Har i mellemtiden kodet/anvendt EDatabaseError handler således at applikationen ikke kan låse. Resultatet er ok.
Har også prøvet noget der ligner dit 23/10 forslag (teste om antal records øges ved key down). Det er lidt ufikst.
Der SKAL kunne rettes i en columm (DBGrid, lodret). Der må ikke kunne rettes i øvrige columms. TTable er "key'ed" på en et item/columm der ikke må kunne rettes (ReadOnly). "Pil ned" og indtastning af data i "ReadOnly:=false" columm låser systemet.
Det ser ikke ud til at der findes er en simpel løsning. Det er ok - når bare man ved det ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester