以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [原创]关于窗口表加载的一个思路给新手 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63830) |
-- 作者:baicaocao -- 发布时间: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.新建一个自定义函数设置列宽 \'调用方式: 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 -- 发布时间:2015/1/29 17:10:00 -- 不错 |
-- 作者:有点甜 -- 发布时间:2015/1/29 17:11:00 -- 看完,顶一个 |
-- 作者:lsy -- 发布时间:2015/1/29 17:23:00 -- 不错。 但是Fill不是个好东西,已经刻意避免这种加载表的方式。
|
-- 作者:游 -- 发布时间:2015/1/29 20:24:00 -- 没想明白,狐表可以直接用Access,而Excel必须安装才能使用,为什么不用前者,速度还快。 |
-- 作者:jspta -- 发布时间:2015/1/29 20:52:00 -- 以下是引用lsy在2015-1-29 17:23:00的发言:
不错。 但是Fill不是个好东西,已经刻意避免这种加载表的方式。 fill很好用加载速度也很快,我整个项目都是这么加载的,不知道为什么这么说?
|
-- 作者:baicaocao -- 发布时间:2015/1/30 9:21:00 -- 用xls文件,是个人爱好,不过用access也挺好。。。呵呵。 另外,请问为什么要避免FILL加载?那么请问,窗口设计的那个sqltable的加载的命令 是什么?
|