Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]:如何在DataList中打印选定的行?(用Excel报表)

11楼
狐狸爸爸 发表于:2009/3/30 8:42:00
这样:

tables("表").filter = dst.RowFilter
....
12楼
cpayinyuan 发表于:2009/3/30 10:25:00
以下是引用狐狸爸爸在2009-3-30 8:42:00的发言:
这样:

tables("表").filter = dst.RowFilter
....

这个对打印有什么作用呢?一般情况下, DataList中要打印的行是临时选取的,没有什么规定,所以 DataList中并不需要筛选.

我看了一下,前面几位老兄提的方案应该是可以的.

13楼
mr725 发表于:2009/3/30 11:58:00
参看俺的“经典”例子吧,只有这样选中后,在打印前=删除未选中的记录,再进行打印,不知是否可行?
http://www.foxtable.com/dispbbs.asp?boardid=2&Id=2222

很多解决不了问题,用一个临时表(或固定表=结构一致的)过渡一下,基本都可以了,狐爸的临时表很有用哦~~
14楼
blackzhu 发表于:2009/3/30 12:39:00
以下是引用cpayinyuan在2009-3-30 10:25:00的发言:

这个对打印有什么作用呢?一般情况下, 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()


15楼
don 发表于:2009/3/30 12:46:00

如是文章套打,何不用全局变量!全局变量有更大的灵活性
引用全局变量

可以在Excel报表中引用全局变量,格式为:

[!全局变量名称]

全局变量可以参与表达式计算,例如:

{"起始日期:" & [!起始日期]}

16楼
czy 发表于:2009/3/30 13:31:00
14楼的理解和楼主要求有点出入,楼主的前提条件是在DataList复选框中选择数据行后再执行接下来的操作。
17楼
blackzhu 发表于:2009/3/30 13:37:00
以下是引用czy在2009-3-30 13:31:00的发言:
14楼的理解和楼主要求有点出入,楼主的前提条件是在DataList复选框中选择数据行后再执行接下来的操作。

  那老大你的代码不是已经很好用了嘛.

18楼
cpayinyuan 发表于:2009/3/30 13:55:00

谢谢各位!
经过大家的讨论,各种情况下的打印都有了!呵呵!

19楼
yangming 发表于:2009/3/30 14:02:00
用了14楼的公式,其它的都起作用,为何就是EXCEL表出来后仍没有显示出所选的内容呢?
我明白了,Book.Save("D:\Foxtable程序文件\Attachments\订单.xls") '保存工作簿
这一段一定要和Proc.File = "D:\Foxtable程序文件\Attachments\订单.xls"
的路径一致
[此贴子已经被作者于2009-3-30 15:55:15编辑过]
共19 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01563 s, 2 queries.