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


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

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

帅哥哟,离线,有人找我吗?
狐狸爸爸
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/30 8:42:00 [只看该作者]

这样:

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

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/3/30 10:25:00 [只看该作者]

以下是引用狐狸爸爸在2009-3-30 8:42:00的发言:
这样:

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

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

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


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/3/30 11:58:00 [只看该作者]

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

很多解决不了问题,用一个临时表(或固定表=结构一致的)过渡一下,基本都可以了,狐爸的临时表很有用哦~~

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57590 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By: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()



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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/3/30 12:46:00 [只看该作者]

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

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

[!全局变量名称]

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

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


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


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

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

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57590 威望:0 精华:15 注册:2008/9/1 9:45:00
费用的报销流程管理系统有没有谁开发过  发帖心情 Post By:2009/3/30 13:37:00 [只看该作者]

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

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


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/3/30 13:55:00 [只看该作者]

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


 回到顶部
美女呀,离线,留言给我吧!
yangming
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By: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 上一页 1 2