以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- foxtable界面美观问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=18997) |
-- 作者:grtulxd -- 发布时间:2012/4/24 15:41:00 -- foxtable界面美观问题
|
-- 作者:程兴刚 -- 发布时间:2012/4/24 15:55:00 -- 美观不美观看您自己,这方面多向小刺猬请教! [此贴子已经被作者于2012-4-24 15:58:28编辑过]
|
-- 作者:grtulxd -- 发布时间:2012/4/24 16:08:00 -- 大家好,我初来乍到,刚学习约一年,试写了一个项目-基建管理电子业务学习系统,是基建项目建设主体方共同协作办公平台,系统较大,应用了大量的窗口,也有页面集合及大量报表,发布项目后使用总体较好,提高了效率等。对非计算机专业的人来说,FOX确实是很好开发工具,可以开发一套适合本单位用的软件。但有几点体会供大家参考: 1、作为共同协作办公系统或软件,FOX的提供开发的界面不美观,菜单单调。只能采用模式窗口,设计成网页的形式,但工作量大,屏幕分辨率不同时很麻烦,通用性欠佳。 2、作为共同协作办公系统,滚动字幕或公告栏是必须的,但无类似控件(列表类的很丑),可否增加? 3、面板及页面集合无象窗口一样的背景图片功能,图片框可以达到效果,效果不佳,需要用图片处理才美观,工作量大。 4、发布项目打包程序后,可否实现根据不同用户,用户自己参考使用说明设置系统,例如外部数据源IP,界面图片等。 5、目录树排序,试了很久不行?只能在前面增加id。 |
-- 作者:grtulxd -- 发布时间:2012/4/24 16:10:00 -- 是基建管理电子业务信息系统 |
-- 作者:grtulxd -- 发布时间:2012/4/24 16:15:00 -- 部分代码: 1、EXCEL预算报表导入:
If User.Group = "录入" Or User.Group = "施工单位" Then Dim dtb As New DataTableBuilder("表d") dtb.AddDef("序号", Gettype(Integer), 10) dtb.AddDef("维修单编号", Gettype(Integer), 10) dtb.AddDef("清单项目名称", Gettype(String), 255) dtb.AddDef("内容特征", Gettype(String), 255) dtb.AddDef("单位", Gettype(String), 255) dtb.AddDef("预算金额_数量", Gettype(Double), 15) dtb.AddDef("预算金额_综合单价", Gettype(Double), 15) dtb.Build() MainTable= Tables("表d")
Dim txt As String = Forms("工程造价").Controls("tb1").text Dim int As Integer = Forms("工程造价").Controls("tb1").value If Forms("工程造价").Controls("tb1").value Is Nothing Then Messagebox.show("需导入的维修单编号不能为空,请选择或输入维修单编号!","提示") Else
Dim dr As DataRow dr = DataTables("维修单").Find("[维修单编号] = \'" & txt & "\'") If dr("预算状态")=True Then Messagebox.show("该维修单记录报价表数据已导入!","提示") Else Dim g As String = " D:\\基建信息管理系统\\报价表数据库\\" Dim r As String = Forms("工程造价").Controls("tb1").text Dim rr As String = ".xls" If FileSys.FileExists(g & r & rr) Then Messagebox.show("报价表数据源文件存在!,开始校验子目的维修单编号……,请稍后","提示") Dim mg As New Merger mg.SourcePath =("D:\\基建信息管理系统\\报价表数据库\\" & txt & ".xls") mg.Format = "excel" mg.SourceTableName = "报价表$" mg.DataTableName = "表d" mg.Merge() Dim drs As List(of DataRow) = DataTables("表d").Select("", "维修单编号") For i As Integer = 0 To drs.Count-1 If drs(i)("维修单编号")<> int Then If MessageBox.Show("第"& i &"行的维修单编号有误,是否修正?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.yes Then drs(i)("维修单编号")=int
End If Else MessageBox.Show("第"& i &"行的维修单编号正确") End If Next Dim f As New Filler f.SourceTable = DataTables("表d") \'指定数据来源 f.DataTable = DataTables("报价表") f.Fill() Dim dr1 As DataRow Dr1 = DataTables("维修单").Find("[维修单编号] = \'" & txt & "\'") If dr1("预算金额")<>0 Then Dr1("预算状态")=True Dr1("预算时间")=Date.Now Syscmd.Project.Save() Messagebox.show("数据已成功导入!","提示") Else MessageBox.Show("导入的维修单预算金额为0,请检查报价表数据源是否正确无误!") End If Else MessageBox.Show("报价表数据源文件不存在!") End If End If End If Else MessageBox.show("对不起,你无此权限!") End If |
-- 作者:grtulxd -- 发布时间:2012/4/24 16:19:00 -- 权限管理,自动累计数值代码:
Select Case e.DataCol.Name Dim drs As List(of DataRow) = DataTables("维修单").Select("", "所在月度") drs(0)("本月累计完成金额2") = drs(0)("复核金额") For i As Integer = 1 To drs.Count - 1 If drs(i)("所在月度") = drs(i - 1)("所在月度") Then drs(i)("本月累计完成金额2") = drs(i-1)("本月累计完成金额2") + drs(i)("复核金额") drs(i)("本月累计完成金额1") = drs(i-1)("本月累计完成金额2") Else drs(i)("本月累计完成金额2") = drs(i)("复核金额") drs(i)("本月累计完成金额1")=0 End If Next
Dim dry As List(of DataRow) = DataTables("维修单").Select("", "所在年度") Dry(0)("本年累计完成金额2") = dry(0)("复核金额") For n As Integer = 1 To dry.Count - 1 If dry(n)("所在年度") = dry(n - 1)("所在年度") Then dry(n)("本年累计完成金额2") = dry(n-1)("本年累计完成金额2") + dry(n)("复核金额") dry(n)("本年累计完成金额1") = dry(n-1)("本年累计完成金额2") Else dry(n)("本年累计完成金额2") = dry(n)("复核金额") dry(n)("本年累计完成金额1")=0 End If
Case "审核金额_数量","审核金额_综合单价" Dim dms As List(of DataRow) = DataTables("维修单").Select("", "所在月度") dms(0)("本月审核累计金额") = dms (0)("审核金额") For n2 As Integer = 1 To dms.Count - 1 If dms(n2)("所在月度") = dms(n2 - 1)("所在月度") Then dms(n2)("本月审核累计金额") = dms(n2-1)("本月审核累计金额") + dms (n2)("审核金额") Else dms(n2)("本月审核累计金额") = dms(n2)("审核金额") End If Next
Dim dmy As List(of DataRow) = DataTables("维修单").Select("", "所在年度") dmy(0)("本年审核累计金额") = dmy(0)("审核金额") For n3 As Integer = 1 To dmy.Count - 1 If dmy(n3)("所在年度") = dmy(n3 - 1)("所在年度") Then dmy(n3)("本年审核累计金额") = dmy(n3-1)("本年审核累计金额") + dmy(n3)("审核金额") Else dmy(n3)("本年审核累计金额") = dmy(n3)("审核金额") End If Next
Case "预算金额_数量","预算金额_综合单价" Dim dns As List(of DataRow) = DataTables("维修单").Select("", "所在月度") dns(0)("本月预算累计金额") = dns(0)("预算金额") For n4 As Integer = 1 To dns.Count - 1 If dns(n4)("所在月度") = dns(n4- 1)("所在月度") Then dns(n4)("本月预算累计金额") = dns(n4-1)("本月预算累计金额") + dns(n4)("预算金额") Else dns(n4)("本月预算累计金额") = dns(n4)("预算金额") End If Next
Dim dny As List(of DataRow) = DataTables("维修单").Select("", "所在年度") dny(0)("本年预算累计金额") = dny(0)("预算金额") For n5 As Integer = 1 To dny.Count - 1 If dny(n5)("所在年度") = dny(n5- 1)("所在年度") Then dny(n5)("本年预算累计金额") = dny(n5-1)("本年预算累计金额") + dny(n5)("预算金额") Else dny(n5)("本年预算累计金额") = dny(n5)("预算金额") End If Next End Select |
-- 作者:狐狸爸爸 -- 发布时间:2012/4/24 16:28:00 -- 你说的很多要求,现在都能实现,多看帮助多练习,遇到具体问题再提问。 |