起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 143|回复: 3

【结】datagrid的问题**

[复制链接]
发表于 2009-3-19 09:16:21 | 显示全部楼层 |阅读模式
我想实现在上一行的最后一个字段打回车,自动新建一行,焦点自动回到第一个字段上
现在的情况:
   代码如下 if (Sender as TDataGrid).FocusedColumn = 4 then //比如是datagrid的第五列敲回车时焦点就切换到Edit1上
  begin
    if key = 13 then
    begin
      (Sender as TDataGrid).OptionsBehavior := (Sender as TDataGrid).OptionsBehavior -
                                        [TGroupListOptionBehavior.edgoEnterShowEditor];
      //Edit1.SetFocus;
       datasetbroker5.DataSet.Append;
       datasetbroker5.DataSet.post;
       datagrid3.SetFocus;
      begin
       //DataGrid1.DataSource.DataSet.First;
       DataGrid3.FocusedColumn := -1;
       DataGrid3.OptionsBehavior := (DataGrid1).OptionsBehavior +
                                      [TGroupListOptionBehavior.edgoEnterShowEditor] +
                                      [TGroupListOptionBehavior.edgoImmediateEditor];
    DataGrid3.ShowEditor;
    datasetbroker5.DataSet.Append;
  end;
    end;

结果是这样的,如l图
但是当出现了滚动条就会正常了

未命名.jpg

7.45 KB, 下载次数: 101

回复

使用道具 举报

发表于 2009-3-19 10:10:39 | 显示全部楼层
没有太了解楼主的描述,楼主设置DataGrid3.OptionsBehavior  属性的目的是啥呢?是参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=24325 这个吗?
不过在DataGrid 某个列回车换行或者新增一条记录,bbs有许多例子,可以用“DataGrid*回车”搜索,例如
http://bbs.justep.com/forum.php?mod=viewthread&tid=1744  10楼
http://bbs.justep.com/forum.php?mod=viewthread&tid=27570  22楼

代码写完后,出现问题,需要自己设置断点调试代码,看看是否逻辑出问题了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-19 17:17:32 | 显示全部楼层
结了,谢谢
回复 支持 反对

使用道具 举报

发表于 2009-3-20 08:15:28 | 显示全部楼层
ok
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 04:12 , Processed in 0.038172 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表