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


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

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

帅哥哟,离线,有人找我吗?
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


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

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


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

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

 回到顶部