Foxtable(狐表)用户栏目专家坐堂 → [求助]:如何在DataList中打印选定的行?(用Excel报表)


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

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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/29 19:33:00 [显示全部帖子]

筛选的为什么会不行呢?
我想不管什么方法能实现要求的都是好方法。

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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/29 20:39:00 [显示全部帖子]

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


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


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/30 13:31:00 [显示全部帖子]

14楼的理解和楼主要求有点出入,楼主的前提条件是在DataList复选框中选择数据行后再执行接下来的操作。

 回到顶部