在报表中增加Parameter Fields,程序中使用
oRpt.ParameterFields.Item(1).SetCurrentValue()
来给参数附值最好不要把sql语句直接嵌在rpt文件里,使用存储过程维护会比较方便

解决方案 »

  1.   

    增加一个参数字段如:Title//RptMyReport是你做的报表名
    RptMyReport rpt = new RptMyReport();rpt.SetParameterValue("Title",ComboBox1.SelectedValue);
      

  2.   

    用“推”的方式,就是更改水晶报表的数据原
    用数据集DataSet,然后通过数据集与报表相连。
      

  3.   

    Sub SetReportValue(ByRef Report As TJFltRes, _
                           ByVal ReportObjectName As String, _
                           ByVal ReportObjectValue As String)
            Dim textObj As TextObject        textObj = Report.ReportDefinition.ReportObjects.Item(ReportObjectName)
            
            textObj.Text = ReportObjectValue
        End Sub
      

  4.   

    to:dreammaster(天涯)
       那个方法怎么没有啊!!!???
      

  5.   

    选定公式运行时自定义  [C#]
    请参见
    Web 窗体 Viewer 的 SelectionFormula 属性 | Windows 窗体 Viewer 的 SelectionFormula 属性可以使用选定公式来筛选要包含在报表中的记录。还可指定对数据进行分组和排序要依据的字段。下列示例使用户在运行时可以修改报表的选定公式。这可通过“查看器”控件或“报表引擎”实现。有关选择何种方法的信息,请参阅为自定义操作在查看器或报表引擎之间做出决定。在运行时修改数据 创建一个报表,该报表使用示例数据库 xtreme.mdb 中的 Customer 表。 
    添加一个选定公式,该公式包含以下内容: 
    {客户.去年销售额} > 11000.00
    该公式返回上年度的销售额超过 $11,000.00 的客户记录。 向 Web 窗体中添加 Web 窗体 Viewer。 
    将报表绑定到 Web 窗体 Viewer。 
    向窗体添加“文本框”和“按钮”控件。 
    用户在“文本框”中输入一个要显示的最小值(上年度的销售额),并单击“按钮”控件提交。 双击“按钮”控件以指定 Click 事件的代码。根据使用的语言和引擎插入以下示例中的适当代码。 
    通过查看器控件传递选定公式 [Visual Basic] 
    Dim SelectFormula As String
    SelectFormula = "{客户.去年销售额} > " & textBox1().Text
    crystalReportViewer1.SelectionFormula = SelectFormula
    [C#] 
    string selectFormula;
    selectFormula = "{客户.去年销售额} > " + textBox1.Text;
    crystalReportViewer1.SelectionFormula = selectFormula;
    [C++] 
    String* selectFormula;
    selectFormula->Concat 
    ("{客户.去年销售额} > ", textBox1->Text);
    crystalReportViewer1->SelectionFormula = selectFormula;
    通过报表对象传递选定公式 [Visual Basic] 
    Dim selectFormula As String
    selectFormula = "{客户.去年销售额} > " & textBox1().Text
    Report.DataDefinition.RecordSelectionFormula = selectFormula
    [C#] 
    string selectFormula;
    selectFormula = "{客户.去年销售额} > " + textBox1.Text;
    Report.DataDefinition.RecordSelectionFormula = SelectFormula;
    [C++] 
    String* selectFormula;
    selectFormula->Concat 
    ("{客户.去年销售额} > ", textBox1->Text);
    Report->DataDefinition->RecordSelectionFormula = selectFormula;
    刷新相应的报表,方法是使用以下代码行结束这段代码: 
    CrystalReportViewer1.RefreshReport()
    该公式得以更新,将使用新的最小值(上年度的销售额)。 自定义记录选定公式请参见
    使用 Crystal 语法创建公式 | 记录选定公式疑难解答 | 将记录选定下推到数据库服务器 | 公式编辑器
    使用 Crystal 语法创建记录选定公式。使用公式设置记录选定 在 Report Designer 中右击,指向“报表”,选择“选择公式”并单击“记录”。 
    在“记录选定公式编辑器”中,通过键入组件或从组件树中选择组件来输入公式。 
    注意   所得到的公式必须是布尔型;也就是说,它必须返回撜鏀值或摷贁值。
    单击“检查”按钮标识公式中的任何错误。 
    修改“公式检查器”识别出的任何语法错误。 
    在公式具有正确的语法后,单击“保存并关闭”按钮。
      

  6.   

    实现运行时自定义运行时自定义的实现要求使用报表引擎对象模型或使用 Web 窗体查看器(对于 Web 应用程序)和 Windows 窗体查看器(对于 Windows 应用程序)的类说明向应用程序添加代码。可通过下列方法支持用户以多种方式在 Crystal 建立报表应用程序中进行输入: 编写一个事件程序:当用户在报表(包含在 Web 窗体查看器或 Windows 窗体查看器中)中执行搜索、刷新或导航操作时,激活该事件。 
    编写一个事件程序:当用户在其他某些 Web 或 Windows 窗体控件上执行操作时,激活该事件。 
    例如,用户可在文本框中输入值并单击按钮,从而激活按钮单击事件。 建立报表应用程序在运行时可以支持许多自定义功能,从而满足用户的需要。本节列举了常见的几种情形,在这几种情形下运行时自定义比较有用。 本节内容
    为自定义操作在查看器或报表引擎之间做出决定 
    说明在实现运行时自定义时,如何确定何时使用“查看器”控件,何时使用“报表引擎”。 
    自定义查看器的外观 
    说明如何自定义 Web 窗体查看器或 Windows 窗体查看器的外观。 
    选择要查看的报表 
    说明如何在运行时选择要查看的报表。 
    修改字体和颜色 
    说明如何自定义报表的外观和行为。例如,通过允许用户选择报表的字体来自定义。 
    自定义数据显示 
    说明如何自定义报表中的数据和数据显示。 
    自定义导出选项 
    解释如何在运行时指定导出选项。 
    访问安全数据库 
    解释如何在运行时登录到数据库。 
    处理 Crystal Reports 引擎的异常
      

  7.   

    为自定义操作在查看器或报表引擎之间做出决定在某些自定义方案(例如,使用参数自定义显示的数据或访问安全数据库)中,可以使用报表引擎对象模式、Web 窗体 Viewer(对于 Web 应用程序)或 Windows 窗体 Viewer(对于 Windows 应用程序)。 这种情况下,建议使用相应查看器的类说明,原因如下: 如果应用程序使用 Web 窗体 Viewer,则它只需访问位于第二层的Web 窗体 Viewer 控件,而不必访问第三层的报表引擎。这可以大大减少像获取用户数据库登录信息和传递参数信息等方案的系统开销。 
    如果应用程序使用 Windows 窗体 Viewer 承载 Crystal Enterprise 储备库中的报表 Web 服务或报表,则它只需访问客户机上的 Windows 窗体 Viewer 类说明,而不必访问位于其他机器的报表引擎。