Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:(请教)这个报表的代码应怎么样写

1楼
gdtgl 发表于:2008/11/24 21:02:00
文件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


要达到的效果:

图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
2楼
gdtgl 发表于:2008/11/24 21:04:00

看着帮助中的:
1,sql语句
2,分组
3,绑定

能力有限而写不出来了....

[此贴子已经被作者于2008-11-24 22:00:52编辑过]
3楼
gdtgl 发表于:2008/11/24 21:06:00

--

[此贴子已经被作者于2008-11-25 12:49:03编辑过]
4楼
gdtgl 发表于:2008/11/24 21:23:00

'''
dim barow as row = tables("表A").current
dim babianhao as string = barow("编号")
Dim Names As New List(Of String)
Dim suzhu() As String '定义数组
Dim bfrows As List(Of Datarow)
bfrows = DataTables("表F").select("[编号] = '"& babianhao &"'")
for each bfrow as datarow in bfrows
  Names.Add(bfrow("项目"))
next
suzhu = Names.ToArray()
output.show(suzhu(0))

Dim doc As New PrintDoc
Dim rt As prt.RenderTable

With Tables("表A.表F")
rt = New prt.RenderTable
rt.Style.GridLines.All = prt.Linedef.Default '网格线为默认类型
For n As integer = 0 To .Rows.Count - 1      
    rt.Cells(0,0).Text = "编号"
    rt.Cells(0,1).Text ="采样编号"   
    rt.Cells(0,2+n).Text = .rows(n)("项目")
next
End With
doc.Body.Children.Add(rt)

Dim cmd As New SQLCommand '定义一个SQL命令
Dim dt As DataTable '定义一个数据表变量
cmd.CommandText = "Select 编号,采样编号,值 from {表C} where 编号 = '"& babianhao &"' and 项目= '"& suzhu(0) &"' "
dt = cmd.ExecuteReader() '生成一个临时表
dim Count As Integer = 0
rt = New prt.RenderTable
For Each Col AS DataCol In Dt.DataCols
    rt.Cells(0,Count).Text = Col.Name
    For r As integer = 0 To dt.DataRows.Count - 1
        rt.Cells(r +1,Count).Text = dt.DataRows(r)(Col.Name)
    Next
    Count = Count + 1
Next
doc.Body.Children.Add(rt)
doc.Preview()


图片点击可在新窗口打开查看此主题相关图片如下:未命名2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2008-11-24 21:38:50编辑过]
5楼
gdtgl 发表于:2008/11/24 21:25:00

因为项目是不断(减小或增加) 为了避免当增加1个项目,就要更改表结构和报表。

[此贴子已经被作者于2008-11-25 13:17:34编辑过]
6楼
gdtgl 发表于:2008/11/24 22:07:00
帮助中基本是取关系表中相关的所有数据,但没有按条件取关联表的数据,接着分别填到不同的列中的实例啊。。。。
7楼
gdtgl 发表于:2008/11/25 1:14:00

试了1天1晚时间了,终于写出来了(分享1下):

dim barow as row = tables("表A").current
dim babianhao as string = barow("编号")

Dim doc As New Printdoc
Dim rt As New prt.RenderTable

dim af as table = Tables("表A.表F")
With Tables("表A.表F")
rt = New prt.RenderTable
rt.Style.GridLines.All = prt.Linedef.Default '网格线为默认类型
For n As integer = 0 To .Rows.Count - 1      
    rt.Cells(0,0).Text = "编号"
    rt.Cells(0,1).Text ="采样编号"   
    rt.Cells(0,2+n).Text = .rows(n)("项目")

Dim cmd As New SQLCommand '定义一个SQL命令
Dim dt As DataTable '定义一个数据表变量
   cmd.CommandText = "Select 编号,采样编号,值 from {表C} where 编号 = '"& babianhao &"' and 项目= '"& Tables("表A.表F").rows(n)("项目") &"' "
   dt = cmd.ExecuteReader() '生成一个临时表
   For r As integer = 0 To dt.DataRows.Count - 1
        rt.Cells(r+1,0).Text = dt.DataRows(r)("编号")
        rt.Cells(r+1,1).Text = dt.DataRows(r)("采样编号")
        rt.Cells(r+1,2+n).Text = dt.DataRows(r)("值")
   Next

next
End With
doc.Body.Children.Add(rt)
doc.Preview

[此贴子已经被作者于2008-11-25 3:03:25编辑过]
8楼
老有所乐 发表于:2008/11/25 7:11:00
学习,谢谢分享!
9楼
gdtgl 发表于:2008/11/25 13:03:00

改全部用foxtable的语言写:(因用外部数据库,打印前已加载数据,再用select语句从后台找数据是效率的重复)

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table



'''
Dim doc As New Printdoc
dim barow as row = tables("表A").current
dim babianhao as string = barow("编号")
Dim rt As prt.RenderTable
With Tables("表A.表F")
rt = New prt.RenderTable
rt.Style.GridLines.All = prt.Linedef.Default '网格线为默认类型
For n As integer = 0 To .Rows.Count - 1      
    rt.Cells(0,0).Text = "编号"
    rt.Cells(0,1).Text ="采样编号"   
    rt.Cells(0,2+n).Text = .rows(n)("项目")

Dim bctbl As dataTable = dataTables("表C")
dim bcrows as list(of datarow)
bcrows = bctbl.select("[编号] = '"& babianhao &"' and  [项目]= '"& Tables("表A.表F").rows(n)("项目") &"' ")
    for bci as integer = 0 to bcrows.count -1
         for each bcrow as datarow in bcrows
            rt.Cells(1+bci,0).Text = bcrows(bci)("编号")
            rt.Cells(1+bci,1).Text = bcrows(bci)("采样编号")
            rt.Cells(1+bci,2+n).Text = bcrows(bci)("值")
         next
    next
next
end with
doc.Body.Children.Add(rt)
doc.Preview()

10楼
狐狸爸爸 发表于:2008/11/25 16:26:00
呵呵,目前在论坛,专业报表你是研究得最好的了,你搞不定的,估计也没有人能帮上手的。
共12 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03320 s, 4 queries.