在窗口打印只能是一行一行的打印,为了一次性打印N行,我做了一段代码,放在打印按钮中,先筛选,然后再打印,可是我发现,凡是做好绑定的控件,可以随着行的移动而改变,而用代码取值的几列不会改变,比如大写金额我是按此代码,放在定时器中的
Dim lbl As WinForm.Label
lbl = e.Form.Controls("Label5")
lbl.Text = CUMoney(dr("金额"))
请看以下筛选打印代码
CurrentTable.Filter = ""
Dim Filter1 As String
With e.Form.Controls("TextBox1")
If .Value IsNot Nothing Then
Filter1 = "'*" & .Value & "*'"
End If
End With
If Filter1 > "" Then
Tables("支piao").Filter = "付款人账号 Like " & Filter1 & " Or 用途 Like " & Filter1 & " Or 收款人 Like " & Filter1 & " Or 日期 Like " & Filter1
End If
forms("支piao").Show()
CurrentTable.Position = 0
With Tables("支piao")
For i AS integer = 0 To .Rows.Count-1
Dim doc As PrintDoc
doc = Forms("支piao").GernatePrintDoc()
doc.Preview()
CurrentTable.Position = CurrentTable.Position + 1
Next
End With
forms("支piao").Close()
CurrentTable.Filter = ""