以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 想让窗口数据随光标移动显示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4019) |
||||
-- 作者:卟离卟弃 -- 发布时间:2009/8/24 11:56:00 -- 想让窗口数据随光标移动显示 不知道各位大哥大姐有什么高招
我想筛选一部分数据,在移动窗口中的光标到数据某一行时,窗口左下角的那边的显示也能跟着光标选择不同行,而更换不同的数据。。 |
||||
-- 作者:czy -- 发布时间:2009/8/24 12:05:00 -- 你用的是datalist,现在已经过时了。 Dim dst As WinForm.DataList = e.Form.Controls("DataList1") Dim dr as DataRow = dst.Current \'获得选定行 If dr Is Nothing Then Return End If Dim Index As Integer = Tables("表A").FindRow(dr) \'获得选定行在Tables("订单")中的位置 If Index >=0 Then \'如果选定行在Tables("订单")中存在 Tables("表A").Position = Index \'定位到选定行 End If |
||||
-- 作者:czy -- 发布时间:2009/8/24 12:06:00 -- 将楼上的代码放在DataList1的CurrentChanged事件中 |
||||
-- 作者:卟离卟弃 -- 发布时间:2009/8/24 13:15:00 -- 这么快就过时? |
||||
-- 作者:卟离卟弃 -- 发布时间:2009/8/24 13:28:00 -- 倒, 有大工作了, 真过时了。。。。 |
||||
-- 作者:cpayinyuan -- 发布时间:2009/8/25 7:15:00 -- 以下是引用czy在2009-8-24 12:05:00的发言:
你用的是datalist,现在已经过时了。 Dim dst As WinForm.DataList = e.Form.Controls("DataList1") Dim dr as DataRow = dst.Current \'获得选定行 If dr Is Nothing Then Return End If Dim Index As Integer = Tables("表A").FindRow(dr) \'获得选定行在Tables("订单")中的位置 If Index >=0 Then \'如果选定行在Tables("订单")中存在 Tables("表A").Position = Index \'定位到选定行 End If 这在以前的DataList中是最常用的功能,我的每个DataList都有这样的代码。 [此贴子已经被作者于2009-8-25 7:27:51编辑过]
|
||||
-- 作者:reachtone -- 发布时间:2009/8/25 7:30:00 -- 千万别想的太复杂,table的副本,当前行就是:CurrentTable.Current。用这个可以直接得到当前行: Dim r as Row = CurrentTable.Current |
||||
-- 作者:cpayinyuan -- 发布时间:2009/8/25 7:37:00 -- 以下是引用reachtone在2009-8-25 7:30:00的发言:
千万别想的太复杂,table的副本,当前行就是:CurrentTable.Current。用这个可以直接得到当前行: Dim r as Row = CurrentTable.Current 我想双击打开编辑窗口时,直接显示当前行的数据,该怎样实现?(这是最常用的功能了)。好像目前的Table并不能直接定位,难道也要像以前的DataList那样,用FindRow和行号再定位一次? |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/8/25 9:17:00 -- 1、用原本,这样可以帮定 2、不用邦定,自己写代码,双击后,打开编辑窗口,将内容写入各个对应的编辑框,编辑结束后,单击保存按钮,将编辑框的内容写入表,这样还可以加入取消编辑的功能。 [此贴子已经被作者于2009-8-25 9:17:29编辑过]
|
||||
-- 作者:cpayinyuan -- 发布时间:2009/8/25 16:48:00 -- 以下是引用狐狸爸爸在2009-8-25 9:17:00的发言:
1、用原本,这样可以帮定 2、不用邦定,自己写代码,双击后,打开编辑窗口,将内容写入各个对应的编辑框,编辑结束后,单击保存按钮,将编辑框的内容写入表,这样还可以加入取消编辑的功能。 [此贴子已经被作者于2009-8-25 9:17:29编辑过] 原来用DataList时,最早我采用您的方法2,将内容逐个写入各个对应的编辑框,但无耐我的编辑窗口太多,每个窗口的输入框也太多,写这个可不是一件容易的事。后来,我认真学习了DataList中利用FindRow和行号进行当前行定位的功能,并进行了灵活运行,发现效率提高多了。现在,出现了改进版的Table控件,而且贺老师一下强调功能强大,本来想着既然是Table控件,定位当前行应该更简单了,但没想到,把Table作为副本时,不但没有比原来方便,竟然连基本的定位功能也没有了,实在想不通!不要告诉我把副本设为False,这样不方便!实在不行,就保留原来DataList的那个笨办法也行啊(就是利用FindRow和行号定位),也总比不能定位,用代码一个一个的写入输入框要快得多吧! [此贴子已经被作者于2009-8-25 17:52:10编辑过]
|