以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 专业报表内指定单元格的数据来自两张不同的表如何实现? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11169) |
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 15:40:00 -- 专业报表内指定单元格的数据来自两张不同的表如何实现? \'\'\' Tables("补偿标准").Filter ="" \'取消筛选 Tables("征地数据").Filter ="" \'取消筛选 Dim Q As String Q = e.Form.Controls("项目名称").Value If Q = "" Then MessageBox.Show("你未选择需要生成个人征地数据的项目!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else Dim doc As New PrintDoc() \'定义一个报表 doc.PageSetting.PaperKind = 93 \'纸张类型为16K doc.PageSetting.Landscape = False \'纵向打印 doc.AutoRotate = False \'禁止自动旋转打印内容 Doc.PageSetting.LeftMargin = 20 \'设置左边距 Doc.PageSetting.RightMargin = 20 \'设置右边距 Doc.PageSetting.TopMargin = 20 \'设置上边距 Doc.PageSetting.bottomMargin = 12 \'设置下边距 Dim tbl As Table = Tables("征地数据") \'加入标题 Dim ck As WinForm.ComBoBox = e.Form.Controls("输入单位名称") Tables("调标表").Filter = "[单位名称] = \'" & ck.value & "\'" \'筛选出指定单位名称的行 \'指定行数、列数、列宽、行高 rt.Cols(3).Width = 30 rt.Cells(0,0).Text= "序号" rt.Cells(0,1).Text = Tables("征地数据").rw("序号") rt.Cells(0,2).Text= "姓名" rt.Cells(0,3).Text = Tables("征地数据").rw("姓名") rt.Cells(1,0).Text= "补偿种类" rt.Cells(1,1).Text = "补偿数量" rt.Cells(1,2).Text = "补偿标准" rt.Cells(1,3).Text = "补偿金额" rt.Cells(2,0).Text= "稻田" rt.Cells(2,1).Text= Tables("征地数据").rw("征用稻田面积") rt.Cells(2,2).Text= Tables("补偿标准").rw( "稻田补偿标准") rt.Cells(3,0).Text= "旱地" rt.Cells(3,1).Text= Tables("征地数据").rw("征用旱地面积") rt.Cells(3,2).Text= Tables("补偿标准").rw( "旱地补偿标准") rt.Cells(4,0).Text= "堡坎" rt.Cells(4,1).Text= Tables("征地数据").rw("堡坎方量") rt.Cells(4,2).Text= Tables("补偿标准").rw( "堡坎补偿标准") ra.Children.Add(rt) \'加入到容器中 end if Doc.Preview() \'预览报表 |
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 15:41:00 --
|
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 15:50:00 -- 先通过“项目名称”-“选择项目窗口”筛选数据,然后根据“补偿标准”表(筛选后只有一行)、“征地数据”表(筛选后只用一个项目的多行)生成公示表 |
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 15:53:00 -- rt.Cells(0,1).Text = Tables("征地数据").rw("序号") 这样不行呀
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/7/11 16:04:00 -- 以下是引用雨中的泪在2011-7-11 15:53:00的发言:
rt.Cells(0,1).Text = Tables("征地数据").rw("序号") 这样不行呀
问一下:这个rw是什么东西?
应该是这样的吧:
rt.Cells(0,1).Text = rw("序号")
都五尾了,怎么还能写出这样的代码? |
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 16:59:00 -- 忘记了
|
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 17:00:00 -- Tables("补偿标准").Filter ="" \'取消筛选 Tables("征地数据").Filter ="" \'取消筛选 Dim Q As String Q = e.Form.Controls("项目名称").Value If Q = "" Then MessageBox.Show("你未选择需要生成个人征地数据的项目!!!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information) Return \'终止代码的执行 Else Dim doc As New PrintDoc \'定义一个报表 Dim tbl As Table = Tables("征地数据") \'加入标题 Dim ck As WinForm.ComBoBox = e.Form.Controls("输入单位名称") Tables("调标表").Filter = "[单位名称] = \'" & ck.value & "\'" \'筛选出指定单位名称的行 \'指定行数、列数、列宽、行高 rt.Cols(3).Width = 30 rt.Cells(0,0).Text= "序号" rt.Cells(0,1).Text = rw("序号") rt.Cells(0,2).Text= "姓名" rt.Cells(0,3).Text = rw("姓名") rt.Cells(1,0).Text= "补偿种类" rt.Cells(1,1).Text = "补偿数量" rt.Cells(1,2).Text = "补偿标准" rt.Cells(1,3).Text = "补偿金额" rt.Cells(2,0).Text= "稻田" rt.Cells(3,0).Text= "旱地" rt.Cells(4,0).Text= "堡坎" rt.Cells(2,1).Text= rw("征用稻田面积") rt.Cells(3,1).Text= rw("征用旱地面积") rt.Cells(4,1).Text= rw("堡坎方量") Dim tb2 As Table = Tables("补偿标准") rt.Cells(2,2).Text= rw1( "稻田补偿标准") rt.Cells(3,2).Text= rw1( "旱地补偿标准") rt.Cells(4,2).Text= rw1( "堡坎补偿标准") next ra.Children.Add(rt) \'加入到容器中 end if Doc.Preview() \'预览报表 |
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 17:01:00 -- 这样改也不行呀
|
||||
-- 作者:雨中的泪 -- 发布时间:2011/7/11 17:29:00 -- 这样改也只打印一行,不能批量答应
|
||||
-- 作者:ybil -- 发布时间:2011/7/11 17:48:00 -- 以下是引用雨中的泪在2011-7-11 17:29:00的发言: 这样改也只打印一行,不能批量答应 不就是For Each 嘛?
|