我的grid与ADOQuery相联,假设字段F1,我在ADOQueryF1的onchanage中写上代码:
if (Tfield(Sender).asstring<>'') then
begin
Tfield(Sender).asstring:=
leftstr(trim(Tfield(Sender).asstring),length(trim(Tfield(Sender).asstring))-1);
TCustomEdit(Sender).SelStart := length(trim(Tfield(Sender).asstring));
end;
但是它要在我按下回车后才执行,我希望它每当我键入一个值的时候就执行应该写在哪里或者,还应该加些什么代码。
先行谢过:)
if (Tfield(Sender).asstring<>'') then
begin
Tfield(Sender).asstring:=
leftstr(trim(Tfield(Sender).asstring),length(trim(Tfield(Sender).asstring))-1);
TCustomEdit(Sender).SelStart := length(trim(Tfield(Sender).asstring));
end;
但是它要在我按下回车后才执行,我希望它每当我键入一个值的时候就执行应该写在哪里或者,还应该加些什么代码。
先行谢过:)
解决方案 »
- delphi 何为 IShellWindows?有什么用法?求祥解。
- 关于返回指定单元格焦点的问题
- 放分:delphi--汗!不知道是不能这么做还是大家都不知道怎么做
- 有没有比较专业的计算机中英文翻译网站?Google了半天,找到的都是一些通用的中英文翻译网站。
- 寻求一款软件,能实现将图片发布到远程服务器,同时将图片信息写入数据库中。
- 基础的问题大家帮帮忙
- 求救:如何从客户端最服务器上的系统时间?在线等。。谢谢了
- 怎么在Memo中添加文本内容又不会产生闪烁呢?
- 出售纺织信管理息系统源代码。
- 怎样让memo的scrollbar自动卷屏?
- 关于动态设置dbgrid的属性的问题,有关dbgrid标题栏的。
- 这件事情让我郁闷!
回车的键值为#13
Shift: TShiftState);
begin
inherited;
if (AdoQry.FieldByName('EQ_MAX_CBM').asstring<>'') and
(strtofloat(AdoQry.FieldByName('EQ_MAX_CBM').asstring) > 99.999) then
begin
AdoQry.FieldByName('EQ_MAX_CBM').asstring:=
leftstr(trim(AdoQry.FieldByName('EQ_MAX_CBM').asstring),length(trim(AdoQry.FieldByName('EQ_MAX_CBM').asstring))-1);
end;
end;我照样可以在表格中输入999999....
用什么方法可以得到表格中当前栏的值呢,因为按回车之前里的值根本没变
所以我那个:
AdoQry.FieldByName('EQ_MAX_CBM').asstring:=
leftstr(trim(AdoQry.FieldByName('EQ_MAX_CBM').asstring),length(trim(AdoQry.FieldByName('EQ_MAX_CBM').asstring))-1);
它根本没执行的
如:TGrid(DbGrid1)
还是不知道该怎么写,假设我有字段F1
怎么得出当前栏的值呢
TGrid(grid)通不过
能不能写个例子看看,太菜了,谢谢:)