/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Stringgrid i D5
Fra : ~-~ Mivi ~-~


Dato : 26-04-01 10:16

Hej

Er der nogen der har arbejdet med et TStringGrid ?

Jeg tænker her på, om der er nogen der har et lille eksempel program, som
viser, hvordan man nemmest kommer igennem felterne og rette i dem ?

Jeg har i mit tilfælde 5 felter påtværs, hvori jeg kun vil rette i det ene.
Desuden skal de kun tillades at indtaste et tal.



--
-----------------------------------------------------------------------

Med venlig hilsen / Best regards

OCC Data ApS - Michael Vilhelmsen
Systemudvikler
Telefon: 66 15 46 00 - Fax: 65 93 20 55
Website: www.occdata.dk

Andre kontakter:

Bogholderi: bogholderi@occdata.dk Info: occdata@occdata.dk Salg:
salgocc@occdata.dk
-----------------------------------------------------------------------




 
 
Stig Johansen (27-04-2001)
Kommentar
Fra : Stig Johansen


Dato : 27-04-01 05:13

Hej.

"~-~ Mivi ~-~" <ccc37780@vip.cybercity.dk> wrote in message
news:hHRF6.61240$o4.5308699@news010.worldonline.dk...
> Hej
>
> Er der nogen der har arbejdet med et TStringGrid ?
>
> Jeg tænker her på, om der er nogen der har et lille eksempel program, som
> viser, hvordan man nemmest kommer igennem felterne og rette i dem ?

Man kommer gennem felterne med tab-key'en. Når du taster i et felt, går den
i editmode. Ellers er det F2.

> Jeg har i mit tilfælde 5 felter påtværs, hvori jeg kun vil rette i det
ene.
Jeg har gjort følgende i event OnSelectCell:

procedure TForm1.Varelinier1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
with Sender as TStringGrid do
begin
IF INTEGER(Objects[Acol,Arow]) <> 1 THEN BEGIN
....noget andet kode
IF IsCreated THEN BEGIN
PostMessage(Handle,WM_KEYDOWN,VK_TAB,0);
....noget andet kode
END ;
END ;
end ;
end;

Denne stump går ud på følgende:
IsCreated er en intern markering om der overhovedet er data i grid'en.
Hver celle har en markering for, om der må rettes i den. Det er 1-tallet i
Objects.
Hvis man ikke må rette, springes videre til næste, celle, det er
PostMessage...

> Desuden skal de kun tillades at indtaste et tal.

Her har jeg gjort følgende i OnKeyPress eventen:

procedure TForm1.Varelinier1KeyPress(Sender: TObject; var Key: Char);
begin
IF ( Varelinier1.Col > 1 ) OR ( Varelinier1.Col = 0 ) THEN
CASE Key OF
'0'..'9',',',#8:
ELSE
Key := #0 ;
END ;
end;

Her skal du forestille dig, at der er tale om registrering af en ordre hvor
de første 2 kolonner indeholder tekst, og resten antal. Den første række er
overskrifter.

Jeg håber det bringer dig lidt på vej.

--
Med venlig hilsen/Best Regards
Stig Johansen - stig@w3data.dk
W3 Data - mailto@w3data.dk





Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste