Foxtable(狐表)用户栏目专家坐堂 → 想让窗口数据随光标移动显示


  共有18675人关注过本帖树形打印复制链接

主题:想让窗口数据随光标移动显示

帅哥哟,离线,有人找我吗?
reachtone
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/25 7:30:00 [显示全部帖子]

千万别想的太复杂,table的副本,当前行就是:CurrentTable.Current。用这个可以直接得到当前行:
Dim r as Row = CurrentTable.Current

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/25 16:59:00 [显示全部帖子]

以下是引用cpayinyuan在2009-8-25 16:48:00的发言:

     原来用DataList时,最早我采用您的方法2,将内容逐个写入各个对应的编辑框,但无耐我的编辑窗口太多,每个窗口的输入框也太多,写这个可不是一件容易的事。后来,我认真学习了DataList中利用FindRow和行号进行当前行定位的功能,并进行了灵活运行,发现效率提高多了。现在,出现了改进版的Table控件,而且贺老师一下强调功能强大,本来想着既然是Table控件,定位当前行应该更简单了,但没想到,把Table作为副本时,不但没有比原来方便,竟然连基本的定位功能也没有了,实在想不通!不要告诉我把副本设为False,这样e不方便!
    Table的SQlTable方面的确功能很强大,比原来灵活很多,但在增强新功能的同时,不应把原来很常用的功能变得越来越麻烦,甚至取消了,有点顾此失彼的感觉!

呵呵,table的当前行就是current啊,行号就是current.index,点哪打哪,还要怎么定位呢?


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/25 18:00:00 [显示全部帖子]

一样可以实现的,代码也不复杂。
我简单做了个例子,你看看。在右边的窗口里双击就行了,窗口里的table用的就是副本。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/25 18:13:00 [显示全部帖子]

呵呵,不好意思,13楼的例子有点太简单了。一旦在窗口table进行筛选等操作,位置就不对了,编辑的内容也错了。
表B的双击事件改成这样就没问题了(这是通过datarow的行位置来查找的,不受table筛选等的影响)。
If e.Table.name = "列表窗口_Table1"
    Dim r as Datarow = CurrentTable.Current.DataRow
    tables("表B").Position = tables("表B").FindRow(r)
    Forms("编辑").open()
End If
这只是思路而已,可根据实际需要再完善。我还是觉得用副本太麻烦,不如sqltable简单。

[此贴子已经被作者于2009-8-25 18:17:24编辑过]

 回到顶部