最近公司用報(bào)表
有個(gè)需求是做一個(gè)動(dòng)態(tài)的表頭 有點(diǎn)難度了 搜了好久 在阿泰的文章里找到了答案
如果實(shí)現(xiàn)這個(gè)動(dòng)態(tài)列表呢
水晶報(bào)表里有離散值設(shè)置 通過(guò)公式可以來(lái)解決這個(gè)問(wèn)題 通過(guò)參數(shù)來(lái)解決表頭問(wèn)題
//使用報(bào)表對(duì)象加載報(bào)表
ReportDocument myReport = new ReportDocument();
string reportPath = Application.StartupPath + "/cp1.rpt";// Server.MapPath("~/app_data/crystalreport1.rpt");
myReport.Load(reportPath);
DataDefinition dataDefinition = myReport.DataDefinition;
string[] Text4formularFields = new string[] { "{Employee.EmployeeID}", "{Employee.EmployeeName}", "{Employee.ProductName}" };
FormulaFieldDefinitions formularFields = dataDefinition.FormulaFields;
formularFields[0].Text = Text4formularFields[0];
formularFields[1].Text = Text4formularFields[1];
formularFields[2].Text = Text4formularFields[2];
這地方可以搞個(gè)循環(huán)來(lái)解決
以下是加參數(shù) 有點(diǎn)亂
private ParameterFields GetParameterFields()
{
ParameterFields fields = new ParameterFields();
//單位、部門(mén)、人員、日期范圍參數(shù)
fields.Add(this.CreateParameterField("title", "單位"));
fields.Add(this.CreateParameterField("x1", "編號(hào)"));
fields.Add(this.CreateParameterField("x2", "員工名"));
fields.Add(this.CreateParameterField("x3", "產(chǎn)品名稱"));
//fields.Add(this.CreateParameterField("x2", "1"));
//fields.Add(this.CreateParameterField("x3", "0"));
//fields.Add(this.CreateParameterField("@empname", "人員"));
//fields.Add(this.CreateParameterField("@daterange", "日期"));
//返回
return fields;
}
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);
field.AllowCustomValues = false;
//返回參數(shù)字段
return field;
}
posted on 2011-08-31 14:57
sanmao 閱讀(482)
評(píng)論(0) 編輯 收藏