Foxtable(狐表)用户栏目专家坐堂 → [求助]窗体连续打印问题?


  共有4428人关注过本帖树形打印复制链接

主题:[求助]窗体连续打印问题?

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/17 10:45:00 [显示全部帖子]

请注意一点,窗口的打印,所有的label、textbox控件,全部要放在窗口上,但,不能放在容器里面,容器包括 panel、picturebox等等,不然就是空白。

 

打印容器里面内容参考 http://www.foxtable.com/help/topics/2437.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/17 16:06:00 [显示全部帖子]

 判断,比如

 

If 数字 = 1 Then

    Doc.Preview

    Doc.Print

Else

    Doc.Print

End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/17 16:12:00 [显示全部帖子]

你这段代码根本就不是连续打印啊。

 

请参考4楼,判断是打几次打印


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/17 16:20:00 [显示全部帖子]

 你这段代码,只会打印一张啊。

 

 上传例子。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/18 18:00:00 [显示全部帖子]

 

Dim Filter As String

With e.Form.Controls("textbox2")
    If .Value IsNot Nothing Then
        Filter = "凭证期间>= #" & .Value & "#"
    End If
End With
With e.Form.Controls("textbox5")
    If .Value IsNot Nothing Then
        Filter = "凭证期间<= #" & .Value & "#"
    End If
End With

With e.Form.Controls("textbox3")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "凭证号>= " & .Value & ""
    End If
End With
With e.Form.Controls("textbox4")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "凭证号 <= " & .Value & ""
    End If
End With
msgbox(filter)
If Filter > "" Then
    DataTables("记账凭证_主表").loadFilter = Filter
    DataTables("记账凭证_主表").load()
End If

For j As Integer= 0 To Tables("记账凭证_主表").Rows.count-1
    Tables("记账凭证_主表").Position = j
    Dim doc As PrintDoc = e.Form.GernatePrintDoc()
    Dim d As Date
    For Each c As object In Doc.Body.Children
        If c.Gettype.Name Like "*Table*" Then
            Dim t As prt.RenderTable = c
            t.Rows(0).Height = 10
            t.Rows(0).Style.BackColor = Color.white
            t.Rows(0).Style.Font = New Font("宋体", 12, FontStyle.Bold) '设置字体
            For i As Integer = 0 To t.Cols.Count - 1
                t.Cells(0,i).Style.TextAlignHorz = prt.AlignHorzEnum.Center
            Next
        Else If c.Gettype.name Like "*Text*" AndAlso Date.TryParse(c.text,d) Then
            c.text = Format(cdate(c.text), "yyyy年MM月dd日")
        End If
    Next
    If j=0 Then
        doc.Preview()
        'doc.print
    Else
        'doc.print
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/19 9:48:00 [显示全部帖子]

 这么久了,你能不能有点自己的调试能力?

 

http://www.foxtable.com/help/topics/1485.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/19 9:54:00 [显示全部帖子]

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim rts() As String = {"全部","资产","负债","权益","成本","损益"}
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("会计科目_主表")
tr.StopRedraw()
tr.Nodes.Clear
For Each rt As String In rts
    tr.Nodes.Add(rt)
Next

For Each dr As DataRow In dt.Select("", "科目代码")
    If dr.IsNull("科目代码") = False AndAlso dr("科目代码").Length = 4 Then
        Dim i As Integer = CInt(dr("科目代码").Substring(0,1))
        If i < rts.Length Then
            nd = tr.Nodes(i).Nodes.Add(dr("科目代码"),dr("科目代码") & " " & dr("科目名称"))
            Functions.Execute("AddChildren",nd,dt)
        End If
    End If
Next
tr.ResumeRedraw()


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/19 11:19:00 [显示全部帖子]

 自己调试

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/19 11:21:00 [显示全部帖子]

 看13楼

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/19 11:59:00 [显示全部帖子]

 代码

 

If e.Node.Level = 0 Then  '如果是顶层节点
    Return '则返回
End If

Dim Val() As String = e.Node.Text.Split(" ")
Dim r As Row = Tables("记账凭证_主表.记账凭证_明细").Current

r("科目代码") = val(0)
r("会计科目") = val(1)
e.Form.Close()


 回到顶部
总数 13 1 2 下一页