20. oktober 2003 - 12:46Der 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.
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (key = vk_Down ) and (adoquery1.RecNo = adoquery1.RecordCount) then key := 0; end;
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 ...
Synes godt om
Ny brugerNybegynder
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.