以前的做法:如果用户要打印dbgrid上的某些记录可以在上面进行选择或者全选(只这2种方式),然后我会在选中的所有记录的ID  放在一个string里面,然后在找到 表的名称,然后再形成这样的语句:select * from table where id=1 or id=2....
形成的这样的语句后 动态生成一个query 然后与report builder 连接,然后  就可以打印了带来的问题就是 当记录数太多,比如大于15000条,就很容易出错。我碰到的错误 有时候是 连接oracle 错误等各位高人 在这方面 有没有好的建议或能给一个通用打印程序的例子  就更好了谢谢

解决方案 »

  1.   

    想弄通用的,自己写一个吧,直接操作printter,对于你,就直接传递Grid,然后取选中的记录(遍历grid就可以),然后输出到printer
      

  2.   

    参考了高人的一些 想法:
    1  在grid上选中的记录数大于2,就遍历grid,生成where
    2  没有在grid选中记录,就查看连接grid的table是否有过滤,有 就把filter作为string传过去
    3  就打开全部数据现在关键的问题,就是没有办法知道,数据集 一开始   就是 有条件的,这个条件 怎么处理?
      

  3.   

    数据多可以分页显示在listview中,设置listview中的checkbox为true
    要打印哪些数据直接勾选哪些,然后打印时直接取这些勾选的数据打印或者你将勾选的这些数据重新组合成一个记录数组,canvas打印即可