以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]报表批量设置代码改造求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78068)

--  作者:浙江仔
--  发布时间:2015/12/1 16:35:00
--  [求助]报表批量设置代码改造求助
我想在报表打印时根据单个生成做成批量生成,用了一张表设置各种参数进行如下改造:
原:
Dim dw As prt.RenderText \'定义一个文本对象单位名称
dw = New prt.RenderText() \'创建文本对象
dw.Text = rp("bmunit") \'设置文本对象的内容
dw.Width = 55 \'自动设置宽度
dw.X = 150 \'指定水平位置
dw.y =126 \'指定垂直位置
doc.Body.Children.Add(dw) \'将文本对象加入到报表

改造:
For Each dr As DataRow In DataTables("Cert_Print").Select("证书=\'管理人员\' and Train_Class=\'主要负责人\' ")
    
    Dim dr("英文字段")  As prt.RenderText \'定义一个文本对象单位名称
    dr("英文字段")  = New prt.RenderText() \'创建文本对象
    dr("英文字段") .Text = rp( dr("取值")  )    \'设置文本对象的内容
    dr("英文字段") .Width = 55 \'自动设置宽度
    dr("英文字段") .X = 150 \'指定水平位置
    dr("英文字段") .y =126 \'指定垂直位置
    doc.Body.Children.Add(dr("英文字段") ) \'将文本对象加入到报表
    
Next

但是不行,不知道怎么改一下,望指点
[此贴子已经被作者于2015/12/1 16:35:48编辑过]

--  作者:浙江仔
--  发布时间:2015/12/1 16:39:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20151201163811.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/12/1 16:41:00
--  
For Each dr As DataRow In DataTables("Cert_Print").Select("证书=\'管理人员\' and Train_Class=\'主要负责人\' ")
    
    Dim dw As prt.RenderText \'定义一个文本对象单位名称
    dw = New prt.RenderText() \'创建文本对象
    dw.Text = rp( dr("取值")  )    \'设置文本对象的内容
    dw .Width = 55 \'自动设置宽度
    \'dw.X = 150 \'指定水平位置
    \'dw.y =126 \'指定垂直位置
    doc.Body.Children.Add(dw) \'将文本对象加入到报表
    
Next

--  作者:浙江仔
--  发布时间:2015/12/1 16:49:00
--  
好像出不来,再试试
--  作者:浙江仔
--  发布时间:2015/12/1 16:49:00
--  

要不要用这个??

 

Dim Code As string
Code
= "Dim Val1 As Integer = 1" & vbcrlf
Code
= Code & "Dim Val2 As Integer = 2" & vbcrlf
Code
= Code & "Dim Sum As Integer = Val1 + Val2" & vbcrlf
Code
= Code & "Return Sum"
Functions.Add(
"Sum",Code)
Functions.Complie()


--  作者:大红袍
--  发布时间:2015/12/1 16:54:00
--  
不需要,直接用3楼代码。
--  作者:浙江仔
--  发布时间:2015/12/1 18:10:00
--  
这句   dw.Text = rp( dr("取值")  )    \'设置文本对象的内容
有问题:


代码执行出错,错误信息:
System.InvalidCastException: 指定的转换无效。
   在 UserCode.Test()
---------------------------
确定   
---------------------------


--  作者:浙江仔
--  发布时间:2015/12/1 18:35:00
--  
    Dim dw As prt.RenderText \'定义一个文本对象单位名称`
    dw = New prt.RenderText() \'创建文本对象
    dw.Text = rp(dr("取值")) \'设置文本对象的内容
    dw .Width = 55 \'自动设置宽度
    dw.X = CStr(dr("l_X")) \'指定水平位置
    dw.y = CStr(dr("l_Y"))  \'指定垂直位置
    doc.Body.Children.Add(dw) \'将文本对象加入到报表


这样就可以了,谢谢袍哥!