Foxtable(狐表)用户栏目专家坐堂 → 求打印DataList当前显示表精简代码.(半解决).老爹说加个打印方法,嘿嘿


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

主题:求打印DataList当前显示表精简代码.(半解决).老爹说加个打印方法,嘿嘿

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
求打印DataList当前显示表精简代码.(半解决).老爹说加个打印方法,嘿嘿  发帖心情 Post By:2009/4/20 16:35:00 [只看该作者]

如题:

有一子窗口,内有DataList控件一个.筛选按钮一个,打印按钮一个,求打印按钮打印当前表精简代码.....(所见即所得.不要求其他..)


此主题相关图片如下:001.jpg
按此在新窗口浏览图片

我用下面的笨办法Filler,把当前显示的表填充到临时表,再打印...有没更好的方法?

手工编码填充数据

前面介绍了用Filler进行数据填充,Filler的设置很丰富,使用比较灵活。
如果只是简单地将数据从一个表填充到另一个表,也不用考虑重复值和现有值,那么手工编码可能是一个更好的选择,因为这样性能更高。

例如需要从表A中,将金额大于1000的记录,复制到表B中,假定两个表的结构一样:

For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim
dr2 As DataRow = DataTables("表B").AddNew()
   
For Each dc As DataCol in DataTables("表A").DataCols
        dr2(dc.Name) = dr1(dc.name)
   
Next
Next

如果表A和表B的结构不同,就需要定义数据来源列和数据接收列,例如:

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim
Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each
dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim
dr2 As DataRow = DataTables("表B").AddNew()
    For
i As Integer = 0 To Cols1.Length -1
       
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
Next


[此贴子已经被作者于2009-4-20 16:59:43编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/20 16:39:00 [只看该作者]

你是打印报表,还是仅仅打印DataList这个表啊?

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/20 16:40:00 [只看该作者]

以下是引用菜鸟foxtable在2009-4-20 16:35:00的发言:
如题:

有一子窗口,内有DataList控件一个.筛选按钮一个,打印按钮一个,求打印按钮打印当前表精简代码.....(所见即所得.不要求其他..)

仅仅打印DataList这个表...当然,有序号最好.没有也行......

[此贴子已经被作者于2009-4-20 16:42:42编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/20 16:45:00 [只看该作者]

实际上这个触及到"后台临时表"不能直接打印的问题....图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/20 16:49:00 [只看该作者]

如果这样,DataList的数据来自于DataTable,你可以:

Tables("某表").filter= dst.RowFilter
Tables("某表").Print()

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/20 16:54:00 [只看该作者]

以下是引用狐狸爸爸在2009-4-20 16:49:00的发言:
如果这样,DataList的数据来自于DataTable,你可以:

Tables("某表").filter= dst.RowFilter
Tables("某表").Print()

图片点击可在新窗口打开查看来自于外部数据表...并没加载到当前项目中....

能否加个功能,所见即所得,后台临时表也能直接打印?这个要是可行,我们的代码会非常精简...许多时候我们设定一个打印按钮,不想让用户看了系统自带的预览,再按一次打印才能打出来.....

[此贴子已经被作者于2009-4-20 16:57:05编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/20 16:55:00 [只看该作者]

我给DataList加一个打印的方法吧。


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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/20 16:58:00 [只看该作者]

以下是引用狐狸爸爸在2009-4-20 16:55:00的发言:

我给DataList加一个打印的方法吧。

图片点击可在新窗口打开查看谢谢老爹...这个太重要了...


 回到顶部