以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  word报表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145099)

--  作者:cd_tdh
--  发布时间:2020/1/8 13:03:00
--  word报表

老师,我勾选多行生存报表时,为什么从第2张开始,前面会多一个回车符号出来呢?

Dim  rs As List(of Row) = Tables("打保证金表").GetCheckedRows
 If rs.Count > 0 Then  \'如果存在符合条件的行
        Dim tm As String  =  ProjectPath &  "Attachments\\投标保证金支付凭证.docx" \'指定模板文件
        Dim fl1 As String =  ProjectPath &  "Reports\\投标保证金支付凭证.docx" \'指定目标文件
        Dim fl2 As String =  ProjectPath &  "Reports\\投标保证金支付凭证.pdf" \'指定目标PDF文件
    Dim wrt As New WordReport(Tables("打保证金表"),tm,fl1) \'定义一个WordReport
     For Each  r As Row In rs \'逐行生成报表
        wrt.BuildOne(r)
     Next
        \'wrt.SaveToPDF(fl2) \'保存为PDF文件
        \'wrt.Quit() \'退出
        \'Dim Proc As New Process \'打开PDF文件
        \'Proc.File = fl2
        \'Proc.Start()
     wrt.Show() \'显示报表
End If

 

 


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

--  作者:cd_tdh
--  发布时间:2020/1/8 13:24:00
--  

问题2,修改Checked状态,CheckedChanged事件判断没用呢?

Dim r As Row = Tables("打保证金表_table1").Current
If  r.Checked =True Then
    If r("审批状态") <> "已审批完成" Then
        MessageBox.Show("该项目还审批完成,不能打印!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        r.Checked  = False
        msgbox(4)
    End If
End If

 

[此贴子已经被作者于2020/1/8 13:25:24编辑过]

--  作者:有点蓝
--  发布时间:2020/1/8 13:41:00
--  
正常,word就是这样的,您在office里面编辑word,手工添加一个分页符,前面也会多一个换行的。


Dim r As Row = Tables("打保证金表_table1").Current
msgbox(r.Checked)
msgbox(r("审批状态"))

--  作者:cd_tdh
--  发布时间:2020/1/8 13:48:00
--  

有没办法处理啊,要不只能一页一页打印,有点繁琐。

后面的我直接在表事件中写代码就没问题了。


--  作者:有点蓝
--  发布时间:2020/1/8 14:08:00
--  
模板文件发上来看看
--  作者:cd_tdh
--  发布时间:2020/1/8 14:43:00
--  
目前处理方式,把下页边距调整小点,让回车符号显示到前一页就行。
--  作者:xiaozhaomdh
--  发布时间:2020/8/5 16:58:00
--  
图片点击可在新窗口打开查看