起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 271|回复: 7

【结贴】急:望解决 SheetDoc 单元格的焦点 定位问题**

[复制链接]
发表于 2007-5-1 16:32:50 | 显示全部楼层 |阅读模式
目前,我们有很多 需要 用SHEETDOC 来开发的 工作,而且也已经开发了好多个功能,结果给用户用时,功能都OK,就是用户提的焦点定位问题无法实现,导致用户不肯使用(说是没有老系统输入快捷);
为了你们倡导的用户满意度,希望能解决掉这个问题。
一切都卡在表格文档的单元格焦点定位问题上了,急呀!盼速决。
回复

使用道具 举报

发表于 2007-5-2 15:08:45 | 显示全部楼层
现在大家放假了,等节后讨论一下给你结果
回复 支持 反对

使用道具 举报

发表于 2007-5-9 10:26:25 | 显示全部楼层
目前不支持,已经作为需求提交
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-10 18:14:58 | 显示全部楼层

以下代码在STUDIO中运行是可以的捕获按键的

希望大家想想办法,在SHEETDOC中,用代码控制 单元格 焦点定位 问题,哪怕用些 歪门邪道的方法,否则我们就无法淘汰老系统了。

做信息化,最讨厌的就是用户对键盘操作上的要求,用户都希望键盘敲的最少。有些用户很苛刻:少一个是一个,按 按键次数 来衡量一个系统的好坏。

所以,希望平台能解决这个问题!!!急,急,急!!!

提供一点可行性代码:以下代码在STUDIO中运行是可以的,但在正式运行起来后就不起作用,WHY?
procedure TCONTACTFORM.BizFormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
  lFieldName: string;
begin
  Inherited;
  if Key = Borland.Delphi.Windows.VK_RETURN then // .VK_F2
  begin
    if ActiveControl.Parent is Business.Forms.TBaseEdit then
    begin
      lFieldName := TBaseEdit(ActiveControl.Parent).DataField;
      lFieldName := SysUtils.UpperCase(lFieldName);
    end;
    if lFieldName = 'CONTACTPERSON' then     //联系人回车 焦点自动跳到 联系电话
      RefDoc.RefInfo.sdsDataSet.FieldByName('CONTACTPHONE').FocusControl
    else if lFieldName = 'CONTACTPHONE' then //联系电话回车 焦点自动跳到 联系部门
      RefDoc.RefInfo.sdsDataSet.FieldByName('CONTACTDEPT').FocusControl;
    Tprogram.ShowMsg(lFieldName);
    //其它控件...
    Key := 0;  //可解决两次触发的问题
  end;

end;
回复 支持 反对

使用道具 举报

发表于 2007-9-19 11:20:04 | 显示全部楼层
哈哈
我解决了这个问题
回复 支持 反对

使用道具 举报

发表于 2007-9-19 11:23:32 | 显示全部楼层
共享下,webcrow
回复 支持 反对

使用道具 举报

发表于 2007-9-19 12:33:39 | 显示全部楼层
是歪门邪道哟,呵呵,在信息层数据集上字段的离开事件里给一个全局变量赋值,
在业务功能层加一个Timer控件,定时(时间间隔搞小些)查看那个变量,根据不同的变量值决定跳到不同的位置,跳完了就把变量值改成其它的,哈哈。
回复 支持 反对

使用道具 举报

发表于 2007-9-19 14:02:18 | 显示全部楼层
真。。。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-27 23:55 , Processed in 0.041671 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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