Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:外部表的动态加载数据还是解决不了

1楼
jgc1010 发表于:2009/3/16 20:50:00

在项目属性的BeforeLoadOuterTable中执行Select * From [Orders] Where 1= 2 后,目录树能看到,但双击最后一个节点,数据却无法显示,这是怎么回事?看来外部表的动态加载数据还是解决不了。你们能帮我解决吗?是否需要在BeforeConnectOuterDataSource中也写入代码?


我个人觉得将BeforeLoadOuterTable的代码改成如下可在SQL中执行:
If e.DataTableName = "tab_wjk"  Then
    e.SelectString = "Select * From [tab_wjk] Where id=0"
End If
但NodeMouseDoubleClick中的代码可能有问题,是否点击时需要重新加载数据表才能打开相关的记录?

 

[此贴子已经被作者于2009-3-16 21:00:08编辑过]
2楼
狐狸爸爸 发表于:2009/3/16 21:19:00
双击没有加载数据,只有一个原因,你设置的条件不成立或者有错。
只要条件正确,下面的代码一定会加载符合条件的数据:

DataTables("某表").LoadFilter = 条件表达式
DataTables("某表").Load
3楼
狐狸爸爸 发表于:2009/3/16 21:23:00

我可能误解你的意思了,BeforeLoadOuterTable应该不会影响目录树的生成,因为目录树是单独加载数据生成的,而不是从已经加载的数据生成,而且应该包括所有的数据:
 

Dim cmd As New SQLCommand
Dim
dt As DataTable
cmd.CommandText =
"SELECT DISTINCT 产品,客户 From {订单}"
dt = cmd.ExecuteReader()

Dim
trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "",
"产品", "客户"
)

你可以看看下面的例子,虽然是内部表的,但是道理一样:


 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:动态加载演示.table


我觉得你可能操之过急了,这两天你浪费了不少时间,如果这些时间用来先"磨刀",也许效果会更好。
[此贴子已经被作者于2009-3-16 21:24:34编辑过]
4楼
jgc1010 发表于:2009/3/16 23:17:00

不好意思,我可能问得太多了.不过你的案例都是内部表的动态加载数据,而对于外部表好象并不完全适用,有些代码是必须修改的.目录树生成和双点显示数据外部表可以完成,但不加载任何数据的代码一放,就影响了目录树的数据显示.我一直找不到原因,所以才请教专家.希望不吝指教.
     因为我们的所有数据都是存储在SQL SERVER中的,一般一张表在10-30万条左右,最多的一张表在100万条,所以我最感兴趣的是能否将FOXTABE作为客户端?

5楼
czy 发表于:2009/3/16 23:22:00
如果不加载任何数据仍想生成目录树,可以考虑打开项目时生成一个临时表(不可见的),然后从临时表中生成目录树就可以解决了。
6楼
狐狸爸爸 发表于:2009/3/16 23:41:00
以下是引用jgc1010在2009-3-16 23:17:00的发言:

不好意思,我可能问得太多了.不过你的案例都是内部表的动态加载数据,而对于外部表好象并不完全适用,有些代码是必须修改的.目录树生成和双点显示数据外部表可以完成,但不加载任何数据的代码一放,就影响了目录树的数据显示.我一直找不到原因,所以才请教专家.希望不吝指教.
     因为我们的所有数据都是存储在SQL SERVER中的,一般一张表在10-30万条左右,最多的一张表在100万条,所以我最感兴趣的是能否将FOXTABE作为客户端?


原理是一样的,我做一个外部表的例子给你吧。

7楼
狐狸爸爸 发表于:2009/3/16 23:54:00
这是使用外部数据源进行动态加载的例子:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar


 

为测试方便,使用的是Aceess数据库作为数据源。

如果使用Sql Server,只需删除BeforeConnectOuterDataSource事件中的代码即可。


[此贴子已经被作者于2009-3-17 0:00:29编辑过]
8楼
jgc1010 发表于:2009/3/17 7:42:00

非常感谢你这么晚还给我解答问题,并给我案例和代码.我非常喜欢Foxtable的统计、打印功能,非常方便,功能强大,一般人不需培训就能使用.列的取值功能也不错,比较容易设置.希望能早日见到商业版和开发版.

共8 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 4 queries.