【水晶报表问题】哪里有这方面的例子??-自定义报表 把要显示的所有字段放在DataSet里,将水晶报表与DataSet绑定! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 分两个DataSet,一个放要打印的字段名,另一个存放要打印的具体信息! 参数字段运行时自定义 [Visual Basic]请参见可支持用户在 Crystal 报表中通过参数进行输入。这种参数有多种用途。例如: 使参数基于数据库字段并允许用户指定该字段的值,以便对报表中的数据进行筛选。 使用参数字段将条件格式应用于报表。 使用参数字段来定义排序顺序。 下列示例说明如何在运行时通过代码设置参数字段值。此例解释了如何设置两个不同的参数:第一个是多值离散参数,第二个是区域值参数。在运行时修改参数字段[Visual Basic] ' 声明将参数传递给'查看器控件所需的变量。Dim paramFields As New ParameterFields()Dim paramField As New ParameterField()Dim discreteVal As New ParameterDiscreteValue()Dim rangeVal As New ParameterRangeValue()' 第一个参数是具有多个值的离散参数。' 设置参数字段的名称,它必须'和报表中的参数相符。paramField.ParameterFieldName = "客户姓名"' 设置第一个离散值并将其传递给该参数discreteVal.Value = "AIC Childrens"paramField.CurrentValues.Add(discreteVal)' 设置第二个离散值并将其传递给该参数。' discreteVal 变量被设置为新值,这样,以前的设置'就不会被覆盖。discreteVal = New ParameterDiscreteValue()discreteVal.Value = "Aruba Sport"paramField.CurrentValues.Add(discreteVal)' 将该参数添加到参数字段集合。paramFields.Add(paramField)' 第二个参数为区域值。paramField 变量'被设置为新值,这样,以前的设置就不会被覆盖。paramField = New ParameterField()' 设置参数字段的名称,它必须'和报表中的参数相符。paramField.ParameterFieldName = "客户 ID"' 设置区域的开始值和结束值并将区域传递给该参数。rangeVal.StartValue = 42rangeVal.EndValue = 72paramField.CurrentValues.Add(rangeVal)' 将第二个参数添加到参数字段集合。paramFields.Add(paramField)' 将参数字段集合放入查看器控件。crystalReportViewer1.ParameterFieldInfo = paramFieldscrystalReportViewer1.ReportSource = "c:\reports\my report.rpt"[C#] // 声明将参数传递给//查看器控件所需的变量。ParameterFields paramFields = new ParameterFields ();ParameterField paramField = new ParameterField ();ParameterDiscreteValue discreteVal = new ParameterDiscreteValue ();ParameterRangeValue rangeVal = new ParameterRangeValue ();// 第一个参数是具有多个值的离散参数。// 设置参数字段的名称,它必须//和报表中的参数相符。paramField.ParameterFieldName = "客户姓名";// 设置第一个离散值并将其传递给该参数。discreteVal.Value = "AIC Childrens";paramField.CurrentValues.Add (discreteVal);// 设置第二个离散值并将其传递给该参数。// discreteVal 变量被设置为新值,这样,以前的设置//就不会被覆盖。discreteVal = new ParameterDiscreteValue ();discreteVal.Value = "Aruba Sport";paramField.CurrentValues.Add (discreteVal);// 将该参数添加到参数字段集合。paramFields.Add (paramField);// 第二个参数为区域值。paramField 变量//被设置为新值,这样,以前的设置就不会被覆盖。paramField = new ParameterField ();// 设置参数字段的名称,它必须//和报表中的参数相符。paramField.ParameterFieldName = "客户 ID";// 设置范围的开始值和结束值并将该范围传递给//该参数。rangeVal.StartValue = 42;rangeVal.EndValue = 72;paramField.CurrentValues.Add (rangeVal);// 将第二个参数添加到参数字段集合。paramFields.Add (paramField);// 将参数字段集合放入查看器控件。crystalReportViewer1.ParameterFieldInfo = paramFields;[C++] // 声明将参数传递给//查看器控件所需的变量。ParameterFields* paramFields = new ParameterFields ();ParameterField* paramField = new ParameterField ();ParameterDiscreteValue* discreteVal = new ParameterDiscreteValue ();ParameterRangeValue* rangeVal = new ParameterRangeValue ();// 第一个参数是具有多个值的离散参数。// 设置参数字段的名称,它必须//和报表中的参数相符。paramField->ParameterFieldName = "客户姓名";// 设置第一个离散值并将其传递给该参数。String* val = "AIC Childrens";discreteVal->Value = val;paramField->CurrentValues->Add (discreteVal);// 设置第二个离散值并将其传递给该参数。// discreteVal 变量被设置为新值,这样,以前的设置//就不会被覆盖。discreteVal = new ParameterDiscreteValue ();val = "Aruba Sport";discreteVal->Value = val;paramField->CurrentValues->Add (discreteVal);// 将该参数添加到参数字段集合。paramFields->Add (paramField);// 第二个参数为区域值。paramField 变量//被设置为新值,这样,以前的设置就不会被覆盖。paramField = new ParameterField ();// 设置参数字段的名称,它必须//和报表中的参数相符。paramField->ParameterFieldName = "客户 ID";// 设置范围的开始值和结束值并将该范围传递给//该参数。rangeVal->StartValue = __box(42);rangeVal->EndValue = __box(72);paramField->CurrentValues->Add (rangeVal);// 将第二个参数添加到参数字段集合。paramFields->Add (paramField);// 将参数字段集合放入查看器控件。crystalReportViewer1->ParameterFieldInfo = paramFields;crystalReportViewer1->ExportReport(); 不过最酷的还是——水晶报表设计器!!!可以让用户自己设计报表…………哈哈……强烈支持!!!CSDN 开个 Crystal Report 版吧!!!&&&我与水晶报表……haibodotnet 海波.NEThttp://expert.csdn.net/Expert/TopicView1.asp?id=2291055 haibodotnet(海波.NET) 已经提供了方法,支持haibodotnet(海波.NET) 开Crystal Report版! 请问大家是更新这类型的数据的 1,2,3,4,5 我想文本框离开后将数据返回数据库怎么弄 SqlDateSourse数据控件在什么时候会用到? 急!GridView列表中删除一个数据,同时更新另一个表中的字段的问题! asp.net2.0在导入js文件时,总是出现错误?求解 中国网页设计师联盟宣传部 弹出式窗口可能传值吗? 关于做外包能否学到东西的讨论 求问一个关于DREAMWAVER的一个极菜的问题 谁能看看 在关键字 'order' 附近有语法错误! 请问怎么给一个按钮绑定回车键? 郁闷,因此求救!
使用参数字段将条件格式应用于报表。
使用参数字段来定义排序顺序。
下列示例说明如何在运行时通过代码设置参数字段值。此例解释了如何设置两个不同的参数:第一个是多值离散参数,第二个是区域值参数。在运行时修改参数字段[Visual Basic]
' 声明将参数传递给
'查看器控件所需的变量。
Dim paramFields As New ParameterFields()
Dim paramField As New ParameterField()
Dim discreteVal As New ParameterDiscreteValue()
Dim rangeVal As New ParameterRangeValue()' 第一个参数是具有多个值的离散参数。' 设置参数字段的名称,它必须
'和报表中的参数相符。
paramField.ParameterFieldName = "客户姓名"' 设置第一个离散值并将其传递给该参数
discreteVal.Value = "AIC Childrens"
paramField.CurrentValues.Add(discreteVal)' 设置第二个离散值并将其传递给该参数。
' discreteVal 变量被设置为新值,这样,以前的设置
'就不会被覆盖。
discreteVal = New ParameterDiscreteValue()
discreteVal.Value = "Aruba Sport"
paramField.CurrentValues.Add(discreteVal)' 将该参数添加到参数字段集合。
paramFields.Add(paramField)' 第二个参数为区域值。paramField 变量
'被设置为新值,这样,以前的设置就不会被覆盖。
paramField = New ParameterField()' 设置参数字段的名称,它必须
'和报表中的参数相符。
paramField.ParameterFieldName = "客户 ID"' 设置区域的开始值和结束值并将区域传递给该参数。
rangeVal.StartValue = 42
rangeVal.EndValue = 72
paramField.CurrentValues.Add(rangeVal)' 将第二个参数添加到参数字段集合。
paramFields.Add(paramField)' 将参数字段集合放入查看器控件。
crystalReportViewer1.ParameterFieldInfo = paramFieldscrystalReportViewer1.ReportSource = "c:\reports\my report.rpt"
[C#]
// 声明将参数传递给
//查看器控件所需的变量。
ParameterFields paramFields = new ParameterFields ();
ParameterField paramField = new ParameterField ();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue ();
ParameterRangeValue rangeVal = new ParameterRangeValue ();// 第一个参数是具有多个值的离散参数。// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "客户姓名";// 设置第一个离散值并将其传递给该参数。
discreteVal.Value = "AIC Childrens";
paramField.CurrentValues.Add (discreteVal);// 设置第二个离散值并将其传递给该参数。
// discreteVal 变量被设置为新值,这样,以前的设置
//就不会被覆盖。
discreteVal = new ParameterDiscreteValue ();
discreteVal.Value = "Aruba Sport";
paramField.CurrentValues.Add (discreteVal);// 将该参数添加到参数字段集合。
paramFields.Add (paramField);// 第二个参数为区域值。paramField 变量
//被设置为新值,这样,以前的设置就不会被覆盖。
paramField = new ParameterField ();// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField.ParameterFieldName = "客户 ID";// 设置范围的开始值和结束值并将该范围传递给
//该参数。
rangeVal.StartValue = 42;
rangeVal.EndValue = 72;
paramField.CurrentValues.Add (rangeVal);// 将第二个参数添加到参数字段集合。
paramFields.Add (paramField);// 将参数字段集合放入查看器控件。
crystalReportViewer1.ParameterFieldInfo = paramFields;
[C++]
// 声明将参数传递给
//查看器控件所需的变量。
ParameterFields* paramFields = new ParameterFields ();
ParameterField* paramField = new ParameterField ();
ParameterDiscreteValue* discreteVal = new ParameterDiscreteValue ();
ParameterRangeValue* rangeVal = new ParameterRangeValue ();// 第一个参数是具有多个值的离散参数。
// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField->ParameterFieldName = "客户姓名";// 设置第一个离散值并将其传递给该参数。
String* val = "AIC Childrens";
discreteVal->Value = val;
paramField->CurrentValues->Add (discreteVal);// 设置第二个离散值并将其传递给该参数。
// discreteVal 变量被设置为新值,这样,以前的设置
//就不会被覆盖。
discreteVal = new ParameterDiscreteValue ();
val = "Aruba Sport";
discreteVal->Value = val;
paramField->CurrentValues->Add (discreteVal);// 将该参数添加到参数字段集合。
paramFields->Add (paramField);// 第二个参数为区域值。paramField 变量
//被设置为新值,这样,以前的设置就不会被覆盖。
paramField = new ParameterField ();// 设置参数字段的名称,它必须
//和报表中的参数相符。
paramField->ParameterFieldName = "客户 ID";// 设置范围的开始值和结束值并将该范围传递给
//该参数。
rangeVal->StartValue = __box(42);
rangeVal->EndValue = __box(72);
paramField->CurrentValues->Add (rangeVal);// 将第二个参数添加到参数字段集合。
paramFields->Add (paramField);// 将参数字段集合放入查看器控件。
crystalReportViewer1->ParameterFieldInfo = paramFields;crystalReportViewer1->ExportReport();
可以让用户自己设计报表…………
哈哈……强烈支持!!!CSDN 开个 Crystal Report 版吧!!!&&&我与水晶报表……
haibodotnet 海波.NEThttp://expert.csdn.net/Expert/TopicView1.asp?id=2291055