以文本方式查看主题

-  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
Case"复核金额_数量","复核金额_综合单价"   

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
--  
你说的很多要求,现在都能实现,多看帮助多练习,遇到具体问题再提问。