Merhabalar,
Veritabanı tablosuna bağlı cxGrid üzerinde tutar isimli alan var. Bu alana sadece sayısal değer giriyorum. Fakat "E" harfi için bir istisna oluyor. Yani "E" harfi girişine nasıl engel olabilirim?
cxGrid üzerinde sayısal tutar alanına E harfi girişini engel
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: cxGrid üzerinde sayısal tutar alanına E harfi girişini e
E harfi bilimsel değer girmeye yarar. 2E3 mesala 2 çapı 10 üzeri 3 demektir. Bu nedenle girilmesinde bir sakınca yok. Siz yinede key up/down/press olaylarında engelleyebilirsiniz.
Re: cxGrid üzerinde sayısal tutar alanına E harfi girişini e
İlgilendiğiniz için teşekkürler.
Fakat fatura üzerinde işlem yaparken 2E34 gibi birşey yazılınca çarpma ve bölme gibi işlemlerde hata veriyor. Normat edit'in keypress olayına kod yazarak buna engel oluyorum fakat cxGrid üzrindeki alanların keypress ve keydown olayı yok.
Fakat fatura üzerinde işlem yaparken 2E34 gibi birşey yazılınca çarpma ve bölme gibi işlemlerde hata veriyor. Normat edit'in keypress olayına kod yazarak buna engel oluyorum fakat cxGrid üzrindeki alanların keypress ve keydown olayı yok.
Re: cxGrid üzerinde sayısal tutar alanına E harfi girişini e
Nasıl yaptığımı net olarak hatırlayamadım. Gridin view'ine ait olaylara bir bakın. Ayrıca formun keypress olayını da kullanabilirsiniz belki.
Re: cxGrid üzerinde sayısal tutar alanına E harfi girişini e
Problem Çözüldü :
procedure TForm16.cxGrid1DBTableView1EditKeyPress(
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
AEdit: TcxCustomEdit; var Key: Char);
begin
if AItem.Index = 6 then
BEGIN
if not (key in ['0'..'9',',',#8]) then
begin
Key:=#0; //girilen karakter rakam veya backspace değilse null(#0)'a dönüştür
Beep; //bip sesi ile kullanıcıyı uyar.
end;
END;
end;
procedure TForm16.cxGrid1DBTableView1EditKeyPress(
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
AEdit: TcxCustomEdit; var Key: Char);
begin
if AItem.Index = 6 then
BEGIN
if not (key in ['0'..'9',',',#8]) then
begin
Key:=#0; //girilen karakter rakam veya backspace değilse null(#0)'a dönüştür
Beep; //bip sesi ile kullanıcıyı uyar.
end;
END;
end;