日期:2014-05-19  浏览次数:20657 次

请教水晶报表push,pull模式问题,UP有分,不够再加!
1.通过oledb直接连接数据库后,我从"字段资源管理器"里直接把需要的字段拖到了水晶报表里去,因为我有已经填充了数据的dataTable,于是我在晶报表查看器里就直接绑定了.代码如下:    
this.crystalReportViewer1.ReportSource=target_dt;
//taget_Dt是我自己的datatable,这个datatable是通过adapter填充的,相关的sql语句是自己写的.
this.crystalReportViewer1.RefreshReport();    
运行后正确显示.弄的自己都挺疑惑了.想知道自己究竟是在执行pull还是push模式.两种模式根本上的区别究竟是什么啊?  

2.是不是push模式必须要有对应了表结构的强类型化数据集,自己构造的dataTable可以吗?

------解决方案--------------------
帮顶
------解决方案--------------------
Mark一下,其实只要满足需求不管是pull模式还是push模式都可以。
------解决方案--------------------
转一个
http://blog.ofo.cn/PermaLink.aspx?id=116
------解决方案--------------------
up
------解决方案--------------------
PUSH模式好一点
------解决方案--------------------
在Push模式中,不管你定義的是什麼類型的數據集,甚至是數據文件也好,隻要字段名稱和數據結構跟水晶報表設計的字段一致,就沒有任何的問題。這時候水晶報表設計器做出來的報表相當與一個空的數據集(可能這樣的比喻不是很恰當,但forgot想不出更好的詞匯),你所要做的隻是往裡填充數據而已。當然,數據結構不同不行,比如你的報表設計時候拖放進去的某個字段(例如ID)是整型,你代碼推進去的數據對應ID字段如果是字符型則不行。