Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
这个对打印有什么作用呢?一般情况下, DataList中要打印的行是临时选取的,没有什么规定,所以 DataList中并不需要筛选.
我看了一下,前面几位老兄提的方案应该是可以的.
这个对打印有什么作用呢?一般情况下, DataList中要打印的行是临时选取的,没有什么规定,所以 DataList中并不需要筛选.
我看了一下,前面几位老兄提的方案应该是可以的.
'选定你所要选定的区域,筛选代码你可以参照老六的窗口列子的筛选代码
Dim Filter As String
With e.Form.Controls("textbox1")
If .Value IsNot Nothing Then
Filter = "列名 = '" & .Value & "'"
End If
End With
If Filter > "" Then
Tables("表名").Filter = Filter
END IF
'这个是表筛选后,在datalist中显示和表一样内容的代码
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
dst .RowFilter = Tables("表名").Filter
'筛选后全部选定区域
With Tables("表名")
.Select(0,0, .Rows.Count - 1, .Cols.Count - 1)
End With
'打印代码
Dim Book As New XLS.Book(ProjectPath & "Attachments\报表名字.xls") '打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build() '生成细节区
Book.Save("D:\release\reports\报表名字.xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = "D:\release\reports\报表名字.xls"
Proc.Verb = "Print" '加上这个可以直接打印,去掉只能预览
Proc.Start()
如是文章套打,何不用全局变量!全局变量有更大的灵活性
引用全局变量
可以在Excel报表中引用全局变量,格式为:
[!全局变量名称]
全局变量可以参与表达式计算,例如:
{"起始日期:" & [!起始日期]}
那老大你的代码不是已经很好用了嘛.
谢谢各位!
经过大家的讨论,各种情况下的打印都有了!呵呵!