惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
博客园 - 司徒正美
爱范儿
爱范儿
F
Fortinet All Blogs
J
Java Code Geeks
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
V
V2EX
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
A
About on SuperTechFans
有赞技术团队
有赞技术团队
Y
Y Combinator Blog

博客园 - 流星石

水晶报表中如何改变报表的背景色、显示行数等。 C编写的SQL Server 数据库连接通用类库 使用Facade模式分析 DreamWeaver MX 2004中 设为首页和加入收藏的实现 DreamWeaver MX 2004制作树状菜单 DreamWeaver MX 2004利用层进行下拉菜单的制作 Grove---------.NET中的ORM实现 .NET下的加密编程 在ASP.NET中写一个数据层基类-----DbObject 在ASP.NET页面中显示年月日和星期的代码实现 在ASP.NET中实现多文件上传 构建简单的Web Service服务 C#中写COM+组件 在ASP.NET 中实现Model-View-Controller 数据库操作源代码 asp.net中DataGrid双行跨列表头设计心得 用C#写一个Web自定义日期时间控件 C#.net常用函数和方法集 Together for .net建模入门
如何动态生成水晶报表(ASP.NET)
流星石 · 2005-08-17 · via 博客园 - 流星石

今天终于完成了在Web 窗体下的动态生成报表,但是问题还是比较多的。比如报表的格式设计,边框等问题还没有解决。请各位高手指点。
我是用水晶报表中的公式字段和参数字段完成动太报表开发的。
具体的代码如下:
private void Button1_Click(object sender, System.EventArgs e)
  {
   string ConnectionString ="";
   string sqlString = "";
   string FieldString = "";
   //string [] FieldString;
   string[] FieldArray;
   int i,j;
   ParameterFields ParamFields =new ParameterFields();//参数字段集合
   ParameterField ParamField;//参数字段
   ParameterDiscreteValue DiscreteVal = new ParameterDiscreteValue();
   if(CheckBox1.Checked==true)
    FieldString=CheckBox1.Text;
   if(CheckBox2.Checked==true)
    FieldString = FieldString +"," + CheckBox2.Text;
   if(CheckBox3.Checked==true)
    FieldString = FieldString + "," +CheckBox3.Text;
   if(CheckBox4.Checked==true)
    FieldString = FieldString + "," +CheckBox4.Text;
   if(FieldString.Substring(0,1)==",")
    FieldString=FieldString.Substring(1,FieldString.Length -1);
   FieldArray=FieldString.Split((char)',');
   ConnectionString="server=lwb;uid=sa;pwd=;database=northwind;";
   SqlConnection mycon = new SqlConnection(ConnectionString);
   sqlString = "select "+ FieldString +" from orders";
   SqlDataAdapter da=new SqlDataAdapter(sqlString,mycon);
   DataSet ds = new DataSet();
   da.Fill(ds,"orders");
   CrystalReport1 oRp = new CrystalReport1();
   int temp = FieldArray.Length;
   for ( i = 0; i< temp; i++)
   {
    ParamField = new ParameterField();
    ParamField.ParameterFieldName = "myParaField" + (i + 1).ToString();
    DiscreteVal = new ParameterDiscreteValue();
    DiscreteVal.Value = FieldArray[i];
    ParamField.CurrentValues.Add(DiscreteVal);
    ParamFields.Add(ParamField);     
   
    oRp.DataDefinition.FormulaFields["myField" + (i + 1).ToString()].Text = "{orders." + FieldArray[i] + "}";
   }
   for ( j = i + 1; j<= 6; j++)
   {
    ParamField = new ParameterField();
    ParamField.ParameterFieldName = "myParaField" + (j).ToString();
    ParamFields.Add(ParamField);
    DiscreteVal = new ParameterDiscreteValue();
    DiscreteVal.Value = "";
    ParamField.CurrentValues.Add(DiscreteVal);
    ParamFields.Add(ParamField);     
   }
   CrystalReportViewer1.ParameterFieldInfo = ParamFields;
   oRp.SetDataSource(ds);
   CrystalReportViewer1.ReportSource = oRp;
  }

posted on 2005-08-17 17:33  流星石  阅读(2061)  评论()    收藏  举报