﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-阿泰的软件实用主义</title><link>http://www.cnblogs.com/babyt/</link><description>水晶报表/BOE 第3季 Only 2008.5 [万众一心，众志成城]</description><language>zh-cn</language><lastBuildDate>Thu, 24 Jul 2008 05:59:16 GMT</lastBuildDate><pubDate>Thu, 24 Jul 2008 05:59:16 GMT</pubDate><ttl>60</ttl><item><title>七月份本博客暂时关闭</title><link>http://www.cnblogs.com/babyt/archive/2008/06/29/1232183.html</link><dc:creator>阿泰</dc:creator><author>阿泰</author><pubDate>Sun, 29 Jun 2008 15:11:00 GMT</pubDate><guid>http://www.cnblogs.com/babyt/archive/2008/06/29/1232183.html</guid><wfw:comment>http://www.cnblogs.com/babyt/comments/1232183.html</wfw:comment><comments>http://www.cnblogs.com/babyt/archive/2008/06/29/1232183.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/babyt/comments/commentRss/1232183.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/babyt/services/trackbacks/1232183.html</trackback:ping><description><![CDATA[因为七月份不能上网，所以博客暂时关闭。<br />
<br />
请各位通过其他途径更快的解决问题，祝各位好运。
<img src ="http://www.cnblogs.com/babyt/aggbug/1232183.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41275/" target="_blank">[新闻]Mozilla将于本周五发布Firefox 3.1第一个预览版</a>]]></description></item><item><title>暂时停止一段时间的回复</title><link>http://www.cnblogs.com/babyt/archive/2008/05/30/1210990.html</link><dc:creator>阿泰</dc:creator><author>阿泰</author><pubDate>Fri, 30 May 2008 15:14:00 GMT</pubDate><guid>http://www.cnblogs.com/babyt/archive/2008/05/30/1210990.html</guid><description><![CDATA[<p><font style="background-color: #cce8cf">最近准备系统上线，所以几乎没有空余时间回复各位的问题了。<br />
<br />
我可能会偶尔上来一下做一下回复，但时间上都不能保证<br />
<br />
为了不耽误大家的时间，请您到CSDN或者其他论坛、博客获得更及时地支持<br />
<br />
<font style="background-color: #cce8cf" face="Verdana"><a href="http://forum.csdn.net/SList/DotNETReport/" target="_blank"><font style="background-color: #cce8cf" face="Verdana">http://forum.csdn.net/SList/DotNETReport/</font><br />
</a></font><span style="font-size: 12pt; font-family: Verdana"><a style="font-family: " href="http://hi.csdn.net/daisylh" target="_blank">daisylh </a><a style="font-family: 宋体,Arial" href="http://hi.csdn.net/daisylh" target="_blank"><br style="font-family: " />
</span></a><a style="font-size: 12pt; font-family: Verdana" href="http://hi.csdn.net/supper168" target="_blank">supper168 </a><br />
<br />
<br />
<br />
</font></p>
  <img src ="http://www.cnblogs.com/babyt/aggbug/1210990.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41274/" target="_blank">[新闻]瑞星将向个人用户免费1年</a>]]></description></item><item><title>字段可以增大导致越界问题的解决</title><link>http://www.cnblogs.com/babyt/archive/2008/05/27/1208044.html</link><dc:creator>阿泰</dc:creator><author>阿泰</author><pubDate>Mon, 26 May 2008 16:50:00 GMT</pubDate><guid>http://www.cnblogs.com/babyt/archive/2008/05/27/1208044.html</guid><wfw:comment>http://www.cnblogs.com/babyt/comments/1208044.html</wfw:comment><comments>http://www.cnblogs.com/babyt/archive/2008/05/27/1208044.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/babyt/comments/commentRss/1208044.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/babyt/services/trackbacks/1208044.html</trackback:ping><description><![CDATA[<p><font style="background-color: #cce8cf">因为水晶报表字段长度是固定的（编程可以控制，此处不讨论），<br />
在字段内容较多时，我们可以使用右键里的【设置字段格式】-【公用】-【可以增大】来使其启动折行显示<br />
为了显示的效果，一般会在详细资料节的底部画一条横线（这里我为了显示得比较明显，加了颜色）<br />
<img height="302" alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR2008052601.jpg" width="729" border="0" /><br />
<br />
于是，就出现了越界的问题，如下图所示（黄色色块字段压过了横线）<br />
<img height="264" alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR2008052602.jpg" width="535" border="0" /><br />
其实解决方法很简单，也就是，将这条线画在详细资料节的顶部即可<br />
<img height="103" alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR2008052603.jpg" width="522" border="0" /><br />
最终效果如下<br />
<img height="264" alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR2008052605.jpg" width="525" border="0" /><br />
<br />
</font></p>
 <img src ="http://www.cnblogs.com/babyt/aggbug/1208044.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41273/" target="_blank">[新闻]中国互联网历史上最伟大的产品TOP10（二）</a>]]></description></item><item><title>水晶报表各版本比较及相关释疑v2</title><link>http://www.cnblogs.com/babyt/archive/2008/05/17/1201418.html</link><dc:creator>阿泰</dc:creator><author>阿泰</author><pubDate>Sat, 17 May 2008 08:09:00 GMT</pubDate><guid>http://www.cnblogs.com/babyt/archive/2008/05/17/1201418.html</guid><wfw:comment>http://www.cnblogs.com/babyt/comments/1201418.html</wfw:comment><comments>http://www.cnblogs.com/babyt/archive/2008/05/17/1201418.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/babyt/comments/commentRss/1201418.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/babyt/services/trackbacks/1201418.html</trackback:ping><description><![CDATA[<p>说明：本文大部分内容来源于MSDN，我主要对内容进行了梳理，并对其中一些细节地方做了描述<br />
本文只在进行功能说明与一些相关产品方面的介绍，并不是所谓的软文，呵呵。<br />
<br />
水晶报表本来是<font style="background-color: #c7edcc" face="Verdana">CrystalDecisions的产品，之后公司整体被BO(BusinessObjects)收购，而现在SAP已经把BO收购了。<br />
早先Crystal Reports 4.x的时候，曾嵌入到VS中，后来就没有了，自VS.Net后，又重新嵌入。<br />
<br />
目前市面上存在的几个版本为：<br />
<img height="419" alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR200805170101.jpg" width="653" border="0" /><br />
最新独立版本为CR2008，最新嵌入版本为VS2008中的CR basic for VS2008<br />
<br />
Q:什么是热修补程序？<br />
A:BO站点中的热修补程序程序(hotfix)，类似于微软的KB补丁，是对某一问题的及时修正。<br />
&nbsp;&nbsp; 这些补丁没有注册的话不会主动推送。<br />
<br />
RAS部分在后面再讲</font></p>
<p><font style="background-color: #c7edcc" face="Verdana">各版本的功能差异为：<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR200805170102.jpg" border="0" /><br />
<br />
<span style="color: red">重点说一下黄色标注的部分：</span><br />
跨平台：VS中内嵌的版本自然只支持MS平台， 但是RAS服务器有多种版本，另外还支持Unix,Linux,AIX等平台<br />
集成安全性：RAS可以与windows用户，windows AD用户,LDAP用户集成安全<br />
负载均衡：RAS支持部署在多台服务器，使用CMS进行均衡控制<br />
报表对象储备库：RAS将现有报表对象（比如在CR中可以看到添加到资源库这个项目），资源库其实就是一个RAS自带的一个数据库，将报表对象保存在数据库中，便于重用，迁移等<br />
报表计划（类似于windows的计划任务）：RAS支持报表定时执行，也可以按事件执行（如发生了某个事件后再执行报表）。定时执行时可以指定执行的用户、参数、执行时间点，执行前置任务，执行后置任务。执行后的文件可能是标准保存有数据的rpt文件，或者是pdf，excel，另外也可以直接打印到指定打印机<br />
信息传送系统：报表计划执行完成后，可将执行后的文件通过email或ftp等传递到某人或某个位置<br />
</font></p>
<p><font style="background-color: #c7edcc" face="Verdana"><font style="background-color: #c7edcc" face="Verdana">通过编程方式创建或修改报表 在后面说<br />
<br />
<span style="color: red">目前最新的CR Basic for VS2008并没有太大的变化</span><br />
</p>
<p><font style="background-color: #c7edcc" face="Verdana">Crystal Reports Basic for Visual Studio 2008 是 Crystal Reports for Visual Studio 2005 的升级版。<br />
此版本中新增了多项功能。 <br />
</font><font style="background-color: #c7edcc" face="Verdana">ClickOnce 部署支持 HomeSite 属性，并且现在可用于 x64 位计算机。 <br />
Crystal Reports Basic for Visual Studio 2008 支持 Windows Vista 和 Windows Server 2008。 <br />
支持 .Net 3.5 Framework。 </font></p>
<p><br />
<span style="color: red">下面重点说一下RAS</span><br />
<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR200805170103.jpg" border="0" /><br />
<br />
</p>
<p class="label"><strong>什么是 RAS？</strong></p>
<p>Report Application Server (RAS) 是 Business Objects 的一种技术。RAS既是客户端 SDK，又是服务器。<br />
可以使用 RAS 服务器来创建和修改 Crystal 报表，以及处理页面请求。<br />
当服务器进程检索到请求的报表时，RAS 将把它传递到报表查看器。</p>
<p>RAS 服务器仅作为 Crystal Reports Server 或 BusinessObjects Enterprise 的一部分提供。</p>
<p class="label"><strong>托管 RAS</strong></p>
<p>由其它 Enterprise 框架组件管理的 RAS 服务器称为托管 RAS 服务器。<br />
Crystal Reports Server 和 BusinessObjects Enterprise 提供了一个服务器框架，以便于进行全企业范围、基于 Web 的报表管理和分发。<br />
托管 RAS 服务器是这一框架中的几个服务器之一。<br />
它可以处理与 Web 服务器和 RAS SDK 位于相同计算机上的报表，或者处理位于单独报表储备库服务器上的报表。</p>
<p>托管 RAS 服务器可以使用 <a id="ctl00_rs1_mainContentContainer_ctl01" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl01',this);" href="http://msdn.microsoft.com/zh-cn/library/ms225229(VS.80).aspx">ReportClientDocument 对象模型</a>和 <a id="ctl00_rs1_mainContentContainer_ctl02" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl02',this);" href="http://msdn.microsoft.com/zh-cn/library/ms225238(VS.80).aspx">InfoObject 对象模型</a>。</p>
<p>Crystal Reports Server 和 BusinessObjects Enterprise 均包含托管 RAS 服务器。</p>
<p class="label"><strong>非托管 RAS</strong></p>
<p>非托管 RAS 不再作为升级选项提供。</p>
<p>独立于 Enterprise 框架运行的 RAS 服务器称为非托管 RAS 服务器。<br />
非托管 RAS 服务器提供对本地文件系统上或指定网络文件夹中的 Crystal 报表文件的访问。非托管 RAS SDK 和非托管 RAS 服务器可以位于两个不同的计算机上。 </p>
<p>非托管 RAS 服务器使用的是 <a id="ctl00_rs1_mainContentContainer_ctl03" onclick="javascript:Track('ctl00_rs1_mainContentContainer_ctl00|ctl00_rs1_mainContentContainer_ctl03',this);" href="http://msdn.microsoft.com/zh-cn/library/ms225229(VS.80).aspx">ReportClientDocument 对象模型</a>。</p>
<p><span style="color: red">之前有些朋友问到的，能不能在运行过程中创建一个报表，或者在报表中新增加字段、字报表的，就是依托RAS实现的。需要单独的授权。</span><br />
<br />
RAS 服务器仅作为 Crystal Reports Server 或 BusinessObjects Enterprise（BOE） 的一部分提供。<br />
<br />
<span style="color: red">另外说一说BOE及其他</span><br />
<br />
BOE是一套完整的报表平台，结合CR，可以实现不用编程，仅需要通过CR制作报表，然后发布到BOE中，能实时通过WEB方式浏览报表<br />
并指定报表计划，且能实现用户组、用户的管理及权限分配，<br />
通过CMS可实现负载均衡以及通过语义层（业务视图或域）实现行集或列的安全控制<br />
等等<br />
大大加快开发进程，当然也价值不菲。<br />
不过对于大用户并发的BS系统，单纯使用CR结合VS.Net或Java 的方式开发，其性能应该远不能满足需要。<br />
此时BOE系统的优势也才能真正显现出来。<br />
现在BOE广泛应用于保险、通讯、石化、银行等大型行业中。<br />
<br />
对于小型应用来说，单纯的水晶报表足矣，但是对于一些中式报表，却不如其他一些国产报表工具（比如基于cell 方式的报表工具）灵活。<br />
<br />
BO推出的Crystal Xcelsius（简称CX，中文名称水晶易表） 2008，可能这个会更满足一些应用的需要，<br />
该工具借助Flash技术，实现了非常酷炫的效果，支持交互。比CR更灵活多变，且能与CR相互勾连。<br />
当然，CX并不适合大数据量的展现，并不能替代CR ，据说价位也不贵<br />
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/babyt/CR200805170104.jpg" border="0" /><br />
更多版本信息可以从此处获得：<br />
<font style="background-color: #c7edcc" face="Verdana"><a href="http://www.china.businessobjects.com/products/crystal/default.asp">http://www.china.businessobjects.com/products/crystal/default.asp</a><br />
</font>水晶易表的实际效果可从此处获得：<br />
<font style="background-color: #c7edcc" face="Verdana"><a href="http://www.china.businessobjects.com/products/crystalxcelsius/default.asp">http://www.china.businessobjects.com/products/crystalxcelsius/default.asp</a><br />
</font><br />
</font><br />
</p>
</font>
 <img src ="http://www.cnblogs.com/babyt/aggbug/1201418.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41271/" target="_blank">[新闻]盖茨官方否认天价租楼看奥运 纯属地产商炒作</a>]]></description></item><item><title>[转]在水晶报表中实现任意选择指定字段显示(Asp.net+c#版)</title><link>http://www.cnblogs.com/babyt/archive/2008/05/13/1195583.html</link><dc:creator>阿泰</dc:creator><author>阿泰</author><pubDate>Tue, 13 May 2008 10:28:00 GMT</pubDate><guid>http://www.cnblogs.com/babyt/archive/2008/05/13/1195583.html</guid><wfw:comment>http://www.cnblogs.com/babyt/comments/1195583.html</wfw:comment><comments>http://www.cnblogs.com/babyt/archive/2008/05/13/1195583.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/babyt/comments/commentRss/1195583.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/babyt/services/trackbacks/1195583.html</trackback:ping><description><![CDATA[<div class="post_content">
<p>本文转自：<font style="background-color: #c7edcc" face="Verdana"><a href="http://chaoyang1983.ycool.com/post.975090.html">http://chaoyang1983.ycool.com/post.975090.html</a></font> 原作者：兜兜<br />
<hr align="left" width="80%" color="#ff0000" noShade size="1" />
<br />
在<a class="HeaderMainTitle" id="Header1_HeaderTitle" href="http://babyt.cnblogs.com/">阿泰的软件实用主义</a>中看到vb版的在&#8220;水晶报表中实现任意选择指定字段显示&#8221;这篇文章<br />
便有了把这个版本改写成web版的想法<br />
由于以前对vb这门语言不是很熟悉，所以还是用了一些时间，设计过程请参见：<a href="http://www.cnblogs.com/babyt/articles/142309.html">http://www.cnblogs.com/babyt/articles/142309.html</a><br />
公开代码如下：<br />
//********************************************<br />
//*<br />
//*&nbsp; 此程序完成&#8220;自定义字段显示报表功能&#8221;<br />
//*<br />
//********************************************<br />
using System;<br />
using System.Collections;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Drawing;<br />
using System.Web;<br />
using System.Web.SessionState;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;<br />
using System.Web.UI.HtmlControls;<br />
using CrystalDecisions.Shared;<br />
using CrystalDecisions.CrystalReports .Engine;<br />
using System.Data.SqlClient;<br />
namespace Crystal_Report<br />
{<br />
&nbsp;/// &lt;summary&gt;<br />
&nbsp;/// WebForm1 的摘要说明。<br />
&nbsp;/// &lt;/summary&gt;<br />
&nbsp;public class WebForm1 : System.Web.UI.Page<br />
&nbsp;{<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.Button Button1;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.CheckBox CheckBox1;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.CheckBox CheckBox2;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.CheckBox CheckBox3;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.CheckBox CheckBox4;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.CheckBox CheckBox5;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.CheckBox CheckBox6;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.Label Label1;<br />
&nbsp;&nbsp;protected System.Web.UI.WebControls.DataGrid dgNameList1;<br />
&nbsp;&nbsp;protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;<br />
&nbsp;<br />
&nbsp;&nbsp;private void Page_Load(object sender, System.EventArgs e)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;Label1.Text="";</p>
<p><br />
&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;#region Web 窗体设计器生成的代码<br />
&nbsp;&nbsp;override protected void OnInit(EventArgs e)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;//<br />
&nbsp;&nbsp;&nbsp;// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。<br />
&nbsp;&nbsp;&nbsp;//<br />
&nbsp;&nbsp;&nbsp;InitializeComponent();<br />
&nbsp;&nbsp;&nbsp;base.OnInit(e);<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;/// &lt;summary&gt;<br />
&nbsp;&nbsp;/// 设计器支持所需的方法 - 不要使用代码编辑器修改<br />
&nbsp;&nbsp;/// 此方法的内容。<br />
&nbsp;&nbsp;/// &lt;/summary&gt;<br />
&nbsp;&nbsp;private void InitializeComponent()<br />
&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;this.Button1.Click += new System.EventHandler(this.Button1_Click);<br />
&nbsp;&nbsp;&nbsp;this.Load += new System.EventHandler(this.Page_Load);</p>
<p>&nbsp;&nbsp;}<br />
&nbsp;&nbsp;#endregion</p>
<p>&nbsp;&nbsp;private void Button1_Click(object sender, System.EventArgs e)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;string ConnectionStr="";<br />
&nbsp;&nbsp;&nbsp;string SqlStr="";<br />
&nbsp;&nbsp;&nbsp;string FieldStr="";<br />
&nbsp;&nbsp;&nbsp;string [] FieldArray;<br />
&nbsp;&nbsp;&nbsp;ParameterFields ParamFields = new ParameterFields();<br />
&nbsp;&nbsp;&nbsp;//ParameterField ParamField = new ParameterField();<br />
&nbsp;&nbsp;&nbsp;//ParameterDiscreteValue DiscreteVal = new ParameterDiscreteValue();<br />
&nbsp;&nbsp;&nbsp;int i,j;</p>
<p>&nbsp;&nbsp;&nbsp;if(CheckBox1.Checked == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;FieldStr=CheckBox1.Text;<br />
&nbsp;&nbsp;&nbsp;if(CheckBox2.Checked == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;FieldStr=FieldStr+","+CheckBox2.Text;<br />
&nbsp;&nbsp;&nbsp;if(CheckBox3.Checked == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;FieldStr=FieldStr+","+CheckBox3.Text;<br />
&nbsp;&nbsp;&nbsp;if(CheckBox4.Checked == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;FieldStr=FieldStr+","+CheckBox4.Text;<br />
&nbsp;&nbsp;&nbsp;if(CheckBox5.Checked == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;FieldStr=FieldStr+","+CheckBox5.Text;<br />
&nbsp;&nbsp;&nbsp;if(CheckBox6.Checked == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;FieldStr=FieldStr+","+CheckBox6.Text;<br />
&nbsp;&nbsp;&nbsp;if(FieldStr=="")<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;Label1.Text="请选择要显示的字段";<br />
&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;if (FieldStr.Substring(0,1)==",")<br />
&nbsp;&nbsp;&nbsp;&nbsp;FieldStr = FieldStr.Substring(1, FieldStr.Length - 1);<br />
&nbsp;&nbsp;&nbsp;FieldArray = FieldStr.Split(',');</p>
<p>&nbsp;&nbsp;&nbsp;ConnectionStr="data source=localhost;uid=sa;pwd=12345;database=Pubs";<br />
&nbsp;&nbsp;&nbsp;SqlConnection SqlConn = new SqlConnection(ConnectionStr);<br />
&nbsp;&nbsp;&nbsp;SqlStr="Select " + FieldStr + " From 材料采购明细" ;<br />
&nbsp;&nbsp;&nbsp;SqlDataAdapter SqlAdapter = new SqlDataAdapter(SqlStr,SqlConn);<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;DataSet dataset = new DataSet();<br />
&nbsp;&nbsp;&nbsp;SqlAdapter.Fill(dataset, "材料采购明细");<br />
&nbsp;&nbsp;&nbsp;dgNameList1.DataSource = dataset.Tables["材料采购明细"].DefaultView;<br />
&nbsp;&nbsp;&nbsp;dgNameList1.DataBind();<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;CrystalReport crReportDocument = new CrystalReport();<br />
&nbsp;&nbsp;&nbsp;for(i=0;i&lt;FieldArray.Length;i++)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;ParameterField ParamField = new ParameterField();<br />
&nbsp;&nbsp;&nbsp;&nbsp;ParamField.ParameterFieldName = "myParaField"+Convert.ToString(i+1);//设置要修改的参数的名称<br />
&nbsp;&nbsp;&nbsp;&nbsp;ParameterDiscreteValue DiscreteVal = new ParameterDiscreteValue();<br />
&nbsp;&nbsp;&nbsp;&nbsp;DiscreteVal.Value=FieldArray[i];<br />
&nbsp;&nbsp;&nbsp;&nbsp;ParamField.CurrentValues.Add(DiscreteVal);<br />
&nbsp;&nbsp;&nbsp;&nbsp;ParamFields.Add(ParamField);<br />
&nbsp;&nbsp;&nbsp;&nbsp;//ParamField.AllowCustomValues = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;string MyStr="myField"+Convert.ToString(i+1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;crReportDocument.DataDefinition.FormulaFields[MyStr].Text = "{材料采购明细." + FieldArray[i] + "}";<br />
&nbsp;&nbsp;&nbsp;&nbsp;//string temp = crReportDocument.DataDefinition.FormulaFields[MyStr].Text;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;for(j=i+1;j&lt;=6;j++)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;ParameterField ParamField = new ParameterField();<br />
&nbsp;&nbsp;&nbsp;&nbsp;ParamField.ParameterFieldName = "myParaField" + Convert.ToString(j); <br />
&nbsp;&nbsp;&nbsp;&nbsp;ParamFields.Add(ParamField); <br />
&nbsp;&nbsp;&nbsp;&nbsp;ParameterDiscreteValue DiscreteVal = new ParameterDiscreteValue(); <br />
&nbsp;&nbsp;&nbsp;&nbsp;DiscreteVal.Value = ""; <br />
&nbsp;&nbsp;&nbsp;&nbsp;ParamField.CurrentValues.Add(DiscreteVal); <br />
&nbsp;&nbsp;&nbsp;&nbsp;ParamFields.Add(ParamField);<br />
&nbsp;&nbsp;&nbsp;&nbsp;//ParamField.AllowCustomValues = False; </p>
<p>&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;CrystalReportViewer1.ParameterFieldInfo = ParamFields;<br />
&nbsp;&nbsp;&nbsp;crReportDocument.SetDataSource(dataset);<br />
&nbsp;&nbsp;&nbsp;CrystalReportViewer1.ReportSource = crReportDocument;</p>
<p>&nbsp;&nbsp;}<br />
&nbsp;}<br />
}<br />
</p>
</div>
 <img src ="http://www.cnblogs.com/babyt/aggbug/1195583.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/41270/" target="_blank">[新闻]2008年7月24日IT博客精选</a>]]></description></item></channel></rss>