DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: jeff1314
今日帖子: 17
在线用户: 14
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 rhlw (lw) ★☆☆☆☆ -
盒子活跃会员
2004/1/19 16:47:52
标题:
关于禁止自动追加空白记录的问题 浏览:1369
加入我的收藏
楼主: 各大侠:我用如下代码在DBGRID中实现RETRUN代替TAB的功能,但当在最后一条记录时,按下回车键后却会产生一条空白记录。有办法禁止吗?如何操作?谢谢!
if key=#13 then
     if (ActiveControl is TDbgrid) Then
     begin
        With TDbgrid(ActiveControl) Do
          if Selectedindex<(FieldCount-1) then
            Selectedindex:=Selectedindex+1
          else
            begin
              keybd_event(VK_TAB,KEYEVENTF_KEYUP,0, 0);
              // 或PostMessage(DBGrid1.Handle, WM_KEYDOWN, VK_TAB, 0);
            //  Selectedindex:=0;
            end;
     end;
----------------------------------------------
-你的一句话,会令我少走许多弯路,衷心的多谢指点。
作者:
男 altnyu (宁宇) ★☆☆☆☆ -
盒子活跃会员
2004/1/19 17:07:45
1楼: procedure TFrom.DBGridEh1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
 if dbgrideh1.FieldCount<>dbgrideh1.SelectedIndex+1 then
     dbgrideh1.SelectedIndex:=dbgrideh1.SelectedIndex+1
 else
 begin
  dbgrideh1.SelectedIndex:=0;
  table1.Next;
 end;
end;
end;
回车后不会产生空白记录,但按TAB 或↓时产生空白记录.
----------------------------------------------
-
作者:
男 gigi_hcl (蓝海雨) ★☆☆☆☆ -
普通会员
2004/1/19 21:52:13
2楼: 那你将begin
 if dbgrideh1.FieldCount<>dbgrideh1.SelectedIndex+1 then
     dbgrideh1.SelectedIndex:=dbgrideh1.SelectedIndex+1
 else
 begin
  dbgrideh1.SelectedIndex:=0;
  table1.Next;
 end;
这段写成一个函数,只要是上面说的三个键时就调用它不就可以了吗?1楼的楼主,不知道我这样说你赞成不赞成?
----------------------------------------------
生命中,不断地有人离开或进入。于是,看见的,看不见的;记住的,遗忘了。 生命中,不断地有得到和失落。于是,看不见的,看见了;遗忘的,记住了。 然而,看不见的,是不是就等于不存在?记住的,是不是永远不会消失? 
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行1242.188毫秒 RSS