Foxtable(狐表)用户栏目专家坐堂 → 动态加载外部数据的烦恼


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

主题:动态加载外部数据的烦恼

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


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
动态加载外部数据的烦恼  发帖心情 Post By:2011/9/5 18:07:00 [只看该作者]

foxtable提供了“设置外部表”界面,可以在设计时,非常好地预设加载的数据源,数据表,以及该表的部分字段,加载行数,过滤/排序等。

并且,这些参数设置完成后,能很好地与DataTable的Load(),LoadFilter等兼容,但是这些灵活性只能在设计时预先设定。

本人在开发项目时,需要强化权限的控制,即要求在运行时,动态控制某个DataTable的外部数据加载,主要控制字段数量(部分字段)和过滤条件(部分记录)。但一直找不到与“设置外部表”相对应的的指令来设置,更难与DataTable的Load(),LoadFilter等兼容。

非常郁闷,恳请各位高手、狐爸赐教。谢谢!!!!

 

 

换句话,即DataTable在加载外部表时,其load方法,是否可以嵌入SELECT语句????


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


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
  发帖心情 Post By:2011/9/5 20:23:00 [只看该作者]

名称 类型 说明
LoadFilter 属性 字符型,用于设置重新加载数据的条件表达式,语法和所使用的数据源有关。
LoadOrder 属性 字符型,指定加载数据的顺序。
LoadTop 属性 整数型,指定要加载的行数,如果是分页加载,则用于指定每页的行数。
LoadPage 属性 整数型,指定要加载的页号
TotalPages 属性 整数型,返回分页加载时,总的可加载总页数
Load 方法 重新加载数据,相当于同步表
以上datatable的方法,就是没有设置select的地方,狐爸帮帮忙,我可以买了两套开发板,准备表现一下的!!!!

 回到顶部
帅哥,在线噢!
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/5 21:15:00 [只看该作者]

很简单就可以解决啊,因为除了Load,还有Fill:

 

http://www.foxtable.com/help/topics/1929.htm

http://www.foxtable.com/help/topics/1930.htm

http://www.foxtable.com/help/topics/2336.htm

 

[此贴子已经被作者于2011-9-5 21:15:53编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/9/5 21:15:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim cmb As WinForm.ComboBox
cmd.CommandText = "SELECT DISTINCT 客户 From {订单}"
dt = cmd.ExecuteReader()
output.show(dt.DataRows.count)

 回到顶部
帅哥哟,离线,有人找我吗?
涛声依旧5666
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
  发帖心情 Post By:2011/9/5 23:07:00 [只看该作者]

4楼的做法我也试过,但这样定义的dt是临时表,没有办法保存表事件的。

 

狐爸,我主要想动态加载部分字段,用fill的话,就没有办法使用你的动态加载部分记录(top或分页)的方法啦!!!


 回到顶部
帅哥,在线噢!
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/5 23:11:00 [只看该作者]

可以的,例如你先Fill100行,然后再用Load动态加载即可, 一样可以分页。
 
DataTables("表A").Fill("Select Top 100 From {订单}", False)

 


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/9/5 23:16:00 [只看该作者]

Select Top 100 [_Identify], 产品, 客户, 数量, 日期 From {订单}

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/9/5 23:18:00 [只看该作者]

楼主代码忘了写fill方法:

 

DataTables("表A").Fill("Select Top 100 [_Identify], 产品, 客户, 数量, 日期 From {订单}",False)


 回到顶部
帅哥,在线噢!
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/9/5 23:36:00 [只看该作者]

Fill和Load配合使用的例子:

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
涛声依旧5666
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:252 积分:2193 威望:0 精华:0 注册:2011/6/28 16:50:00
  发帖心情 Post By:2011/9/6 8:05:00 [只看该作者]

谢谢,抓紧测试

 回到顶部
总数 11 1 2 下一页