以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]:如何在DataList中打印选定的行?(用Excel报表)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=2230)

--  作者:cpayinyuan
--  发布时间:2009/3/29 11:42:00
--  [求助]:如何在DataList中打印选定的行?(用Excel报表)

     如题,在DataList中,通过选择框选定一些行,如何调用Excel 模板只打印这些选定行?(用Excel报表)最好谁能做个例子传上来,谢谢!


--  作者:yangming
--  发布时间:2009/3/29 13:19:00
--  
我的办法,先筛选,然后在筛选出来的进全部选定,然后再点EXCEL报表管理器,选择相关的EXCEL表预览,你就能看到EXCEL中就是你筛选后的表格了,到了EXCEL中你再操作打印便可了
--  作者:cpayinyuan
--  发布时间:2009/3/29 18:17:00
--  
以下是引用yangming在2009-3-29 13:19:00的发言:
我的办法,先筛选,然后在筛选出来的进全部选定,然后再点EXCEL报表管理器,选择相关的EXCEL表预览,你就能看到EXCEL中就是你筛选后的表格了,到了EXCEL中你再操作打印便可了

这种办法不可行。
因为要打印的行是在DataList中临时根据需要选取的,用筛选的办法不方便!
还是希望谁提供一个解决方案,最好提供一个事例!


--  作者:czy
--  发布时间:2009/3/29 19:33:00
--  
筛选的为什么会不行呢?
我想不管什么方法能实现要求的都是好方法。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6.rar

--  作者:yangming
--  发布时间:2009/3/29 20:12:00
--  
我觉得用筛选很好啊,可以参考程序自带的"窗口筛选.table"进行筛选,然后再打印EXCEL表
--  作者:czy
--  发布时间:2009/3/29 20:39:00
--  
以下是引用yangming在2009-3-29 20:12:00的发言:
我觉得用筛选很好啊,可以参考程序自带的"窗口筛选.table"进行筛选,然后再打印EXCEL表


模板的筛选和楼主要求有很大区别的。


--  作者:smileboy
--  发布时间:2009/3/29 21:26:00
--  
我一直用datalist和表同时筛选打印
--  作者:yangming
--  发布时间:2009/3/29 22:27:00
--  看看这个表
看看这个表
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口筛选.table


--  作者:czy
--  发布时间:2009/3/29 23:11:00
--  
4楼的代码改成下面这样操作时看起来好一点。

For Each dr As DataRow In DataTables("员工").DataRows
    dr("打印") = false
Next
Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
For Index As Integer = 0 To dst.Count - 1
    If dst.GetChecked(Index) Then
        Dim dr As DataRow = dst.GetDataRow(Index)
        dr("打印") = true
    End If
Next
Dim dr1 As DataRow
dr1 = DataTables("员工").Find("打印 = true")
If dr1 IsNot Nothing Then
    Tables("员工").Filter = "[打印] = true"
    CurrentTable.Select(0,1,CurrentTable.Rows.Count-1,1)
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\资料卡.xls")
    Book.Build()
    Book.Save(ProjectPath & "Reports\\资料卡.xls")
    Tables("员工").Filter = ""
    CurrentTable.Select(0,1,0,1)
    Dim Proc As New Process \'打开工作簿
    Proc.File = ProjectPath & "Reports\\资料卡.xls"
    Proc.Start()
Else
    MessageBox.Show("没有要打印的数据!")
End If

--  作者:blackzhu
--  发布时间:2009/3/30 7:39:00
--  
以下是引用smileboy在2009-3-29 21:26:00的发言:
我一直用datalist和表同时筛选打印

  我也是表和DATALIST同时筛选打印的.