4,818
社区成员
发帖
与我相关
我的任务
分享using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Data.SqlClient;
using System.IO;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
this.CrystalReportSource1.ReportDocument.SetDataSource(GetDataSource());
//this.CrystalReportViewer1.ParameterFieldInfo = GetParameterField();
this.CrystalReportSource1.ReportDocument.ParameterFields = GetParameterField();
}
catch (Exception ex)
{
}
}
private DataSet GetDataSource()
{
//DataSet1 ds = new DataSet1();
System.Random rd = new Random();
DataSet ds = new DataSet();
DataTable dt = new DataTable("DataTable1");
dt.Columns.Add("Column1", typeof(string));
dt.Columns.Add("Column2", typeof(string));
dt.Columns.Add("Column3", typeof(string));
dt.Columns.Add("Column4", typeof(string));
dt.Columns.Add("Column5", typeof(string));
dt.Columns.Add("Column6", typeof(string));
dt.Columns.Add("Column7", typeof(string));
for (int i = 0; i < 100; i++)
{
DataRow dr = dt.NewRow();
dr[0] = rd.Next(100).ToString();
dr[1] = rd.Next(100).ToString();
dr[2] = "11";
dr[3] = rd.Next(100).ToString();
dr[4] = rd.Next(100).ToString();
dr[5] = rd.Next(100).ToString();
dr[6] = rd.Next(100).ToString();
dt.Rows.Add(dr);
//ds.DataTable1.Rows.Add(dr);
}
ds.Tables.Add(dt);
return ds;
}
#region 获得报表参数信息
/// <summary>
/// 获得报表参数信息
/// </summary>
private ParameterFields GetParameterField()
{
ParameterFields pfs = new ParameterFields();
pfs.Add(this.CreateParameterField("p1", "aaa"));
pfs.Add(this.CreateParameterField("p2", "tt"));
return pfs;
}
#endregion
#region 建立参数字段
/// <summary>
/// 建立参数字段
/// </summary>
/// <param name="FieldName">字段名</param>
/// <param name="FieldValue">字段值</param>
/// <returns>参数字段</returns>
private ParameterField CreateParameterField(string FieldName, object FieldValue)
{
ParameterField field = new ParameterField();
ParameterDiscreteValue pvalue = new ParameterDiscreteValue();
pvalue.Value = FieldValue;
field.Name = FieldName;
field.CurrentValues.Add(pvalue);
//返回参数字段
return field;
}
#endregion
}
private ParameterFields AddParameter
(string paramName, string paramValue,
ParameterFields paramFields)
{
ParameterField paramField= new ParameterField ();
ParameterDiscreteValue paramDiscreteValue = new
ParameterDiscreteValue ();
ParameterValues paramValues = new ParameterValues ();
paramField.ParameterFieldName = paramName;
paramDiscreteValue.Value = paramValue
paramValues.Add (paramDiscreteValue);
paramField.CurrentValues = paramValues;
paramFields.Add (paramField);
return paramFields;
}