以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=74890)

--  作者:qinlao666
--  发布时间:2015/9/22 10:05:00
--  代码问题
老师请问上面的代码中  Dim t As Table = Args(0)这句是什么意思?

有如何定义Args呢?

请老师指导,谢谢!

--  作者:qinlao666
--  发布时间:2015/9/22 10:06:00
--  

 

一般系统开发过程中,用户都有刷新数据表功能,但是使用系统自带的刷新功能(load),会使表格回到第一行,这样严重影响了客户使用。

虽然可以使用dataRow.load,但不能刷新整张表。

 

另有很多狐友会使用窗口表,并且使用fill进行加载,之后即使刷新表也会使用fill重新加载。其实这不需要,应该使用Load进行加载。

不过因为load的特性,如果表本身没有设置加载条件loadFilter,load后会导致把后台所有数据加载,可能会导致一些权限问题。

 

下面分享一个简单的刷新功能,代码非常简单,有需要的朋友拿去,有不足的地方请不吝斧正

(一定要先设置该表的LoadFilter,因为本人使用的是窗口表,第一次加载时已经设置完成)

 

Dim t As Table = Args(0)
Dim flt As String = t.Filter       \'获取过滤条件
Dim Int As Integer = t.Position    \'获取行位置
Dim p As point = t.ScrollPosition  \'获取行在屏幕中位置
t.StopRedraw
t.DataTable.Load(False)
t.Filter = flt
t.Position = Int
t.ScrollPosition = p
t.ResumeRedraw

--  作者:大红袍
--  发布时间:2015/9/22 10:06:00
--  

args是外部传进来的。

 

看看 http://www.foxtable.com/help/topics/1486.htm

 


--  作者:qinlao666
--  发布时间:2015/9/22 10:27:00
--  
大红袍老师,根据上面的功能 能帮我定义个Args(0)的函数吗?


--  作者:大红袍
--  发布时间:2015/9/22 10:30:00
--  
汗,看3楼啊
--  作者:qinlao666
--  发布时间:2015/9/22 10:52:00
--  
老师,太难了。理解不了哦图片点击可在新窗口打开查看。求函数定义


--  作者:大红袍
--  发布时间:2015/9/22 10:56:00
--  
根据3楼的帮助,直接把代码拷贝进去就行啊
--  作者:qinlao666
--  发布时间:2015/9/22 11:28:00
--  
输入执行命令Functions.Execute("t"),提示错误:索引超出数组界限
--  作者:大红袍
--  发布时间:2015/9/22 11:33:00
--  
Functions.Execute("你的函数名", Tables("表A"))
--  作者:qinlao666
--  发布时间:2015/9/22 12:13:00
--  
Dim t As Table = Args(0)
Dim flt As String = t.Filter       \'获取过滤条件
Dim Int As Integer = t.Position    \'获取行位置
Dim p As point = t.ScrollPosition  \'获取行在屏幕中位置
t.StopRedraw
t.DataTable.Load(False)
t.Filter = flt
t.Position = Int
t.ScrollPosition = p
t.ResumeRedraw

老师如何修改代码,只刷新已经保存的数据,修改未保存的或者是新增未保存的不要自动保存刷新