Foxtable(狐表)用户栏目专家坐堂 → [原创]关于窗口表加载的一个思路给新手


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

主题:[原创]关于窗口表加载的一个思路给新手

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


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
[原创]关于窗口表加载的一个思路给新手  发帖心情 Post By:2015/1/29 17:08:00 [只看该作者]

目的:
1.不进入窗口设计界面,就可以设置显示的表的列以及列宽。
2.可以直接在窗口加载的时候,加载表,不用在窗口设计的表设计那里进行绑定。
方法:
1.全局代码中添加:
Public _cfg As String '配置文件,此文件丢失,不能登录系统!
Public _book As New XLS.Book '实例化Excel表格
Public _sheet As XLS.Sheet '实例化首页
2.项目管理-项目属性-BeforeOpenProject
_cfg = FileSys.GetParentPath(e.File) & "\config.xls"
If FileSys.FileExists(_cfg) = False Then '首先判断根目录是否存在.
  
    e.Cancel = True 
    e.HideSplashForm = True
    MessageBox.show("没有找到配置文件,配置文件为:" & _cfg & ",请重新安装或咨询管理员!")
    'End If
End If
_book = new XLS.Book(_cfg) '加载这个文件
_sheet = _book.Sheets(0)
目的是为了把sql加载语句放到xls文件里面。
2.窗口设计中:窗口的afterload事件:
Dim tb As Table = Tables(e.Form.name & "_Table1") '表名
DataTables(tb.Name).Fill(_sheet(10,Asc("B")-65).value,datas,False) 'datas是数据源的名称
DataTables(tb.Name).AllowEdit = True
3.新建一个全局参数的表:参数名称,值,参数类型
4.新建一个自定义函数设置列宽
'调用方式:
Functions.Execute("设置列宽","表名")
Dim fl As String = args(0) '表名
Dim dr As DataRow = DataTables("全局参数").Find("参数名称 = '" & fl & "_列显示'")
If dr IsNot Nothing Then
    Tables(fl).SetColVisibleWidth(dr("值"))
End If


这样的话,都放到项目外面,就可以改变了。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/29 17:10:00 [只看该作者]

不错

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/29 17:11:00 [只看该作者]

 看完,顶一个

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/1/29 17:23:00 [只看该作者]

不错。

但是Fill不是个好东西,已经刻意避免这种加载表的方式。

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


加好友 发短信
等级:小狐 帖子:321 积分:1916 威望:0 精华:0 注册:2014/8/24 13:36:00
  发帖心情 Post By:2015/1/29 20:24:00 [只看该作者]

没想明白,狐表可以直接用Access,而Excel必须安装才能使用,为什么不用前者,速度还快。

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2015/1/29 20:52:00 [只看该作者]

以下是引用lsy在2015-1-29 17:23:00的发言:
不错。

但是Fill不是个好东西,已经刻意避免这种加载表的方式。

fill很好用加载速度也很快,我整个项目都是这么加载的,不知道为什么这么说?


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


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2015/1/30 9:21:00 [只看该作者]

用xls文件,是个人爱好,不过用access也挺好。。。呵呵。
另外,请问为什么要避免FILL加载?那么请问,窗口设计的那个sqltable的加载的命令 是什么?

 回到顶部