起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 499|回复: 23

【结】DataGridKeyDown**

[复制链接]
发表于 2009-2-16 14:46:16 | 显示全部楼层 |阅读模式
procedure TSF.DataGrid3KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
    if key = 13 then
    Begin
    if DataSetBroker1.DataSet.FieldByName('XMMC').AsString.Trim = '' then
      begin
       DataSetBroker1.DataSet.FieldByName('XMMC').FocusControl;
      end;
    end;
end;

这里红色的地方为什么没有触发到?
无论是在信息或者窗体上都没触发
但我把红色的那句放到一按钮中就可以执行到,为什么
回复

使用道具 举报

发表于 2009-2-16 14:50:20 | 显示全部楼层
你把断点设在   if DataSetBroker1.DataSet.FieldByName('XMMC').AsString.Trim = '' then
按回车是否代码停到这里
回复 支持 反对

使用道具 举报

发表于 2009-2-16 14:50:48 | 显示全部楼层
应该是这个条件不成立造成的吧
if DataSetBroker1.DataSet.FieldByName('XMMC').AsString.Trim = '' then
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 14:56:49 | 显示全部楼层
最初由 lixy 发布
[B]你把断点设在   if DataSetBroker1.DataSet.FieldByName('XMMC').AsString.Trim = '' then
按回车是否代码停到这里 [/B]


停留在那的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 14:58:29 | 显示全部楼层
最初由 zfang 发布
[B]应该是这个条件不成立造成的吧
if DataSetBroker1.DataSet.FieldByName('XMMC').AsString.Trim = '' then [/B]

条件成立的,我在里面Dialogs过
回复 支持 反对

使用道具 举报

发表于 2009-2-16 15:19:38 | 显示全部楼层
晕。你1楼说没触发,那肯定是没成立。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 15:26:28 | 显示全部楼层
procedure TSF.DataGrid3KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
    if key = 13 then
    Begin
       DataSetBroker1.DataSet.FieldByName('XMMC').FocusControl;
       Dialogs.ShowMessage('');
    end;
end;
Dialogs已经show出...我再说下需求
我在'XMMC'列回车,如果'XMMC'列的那字段为空则焦点还要在'XMMC'上
但是现在回车的时候,焦点已经转到下一列去了
能告诉我怎么实现么
回复 支持 反对

使用道具 举报

发表于 2009-2-16 15:30:42 | 显示全部楼层
直接append
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-16 15:32:51 | 显示全部楼层
if (Sender as TDataGrid).FocusedColumn = 0 then
begin
    if key = 13 then
    begin
      (Sender as TDataGrid).OptionsBehavior := (Sender as TDataGrid).OptionsBehavior -
                                        [TGroupListOptionBehavior.edgoEnterShowEditor];
    end;
  end
  else
  begin
    (Sender as TDataGrid).OptionsBehavior := (Sender as TDataGrid).OptionsBehavior +
                                      [TGroupListOptionBehavior.edgoEnterShowEditor];
  end;
实现了
回复 支持 反对

使用道具 举报

发表于 2009-2-16 15:36:31 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-26 09:19 , Processed in 0.041829 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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