目的: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
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
这样的话,都放到项目外面,就可以改变了。