Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VS2010 Vb.net的动态水晶报表_Vb.net_Crystal Reports - Fatal编程技术网

使用VS2010 Vb.net的动态水晶报表

使用VS2010 Vb.net的动态水晶报表,vb.net,crystal-reports,Vb.net,Crystal Reports,我正在尝试使用Crystal studio生成一个报告,该报告从vb.net应用程序中获取一个公共变量。我认为最好的方法是在运行时动态地为报表提供过滤器,但我不知道如何设置它以在运行时获取任何信息。有什么建议吗?最好的方法是使用记录选择条件中使用的参数构建报告。然后,您可以加载报告并填充参数,如下所示: Imports CrystalDecisions.CrystalReports.Engine Imports CrystalDecisions.Shared Public Class Form1

我正在尝试使用Crystal studio生成一个报告,该报告从vb.net应用程序中获取一个公共变量。我认为最好的方法是在运行时动态地为报表提供过滤器,但我不知道如何设置它以在运行时获取任何信息。有什么建议吗?

最好的方法是使用记录选择条件中使用的参数构建报告。然后,您可以加载报告并填充参数,如下所示:

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click

    Dim cryRpt As New ReportDocument
    cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt")

    Dim crParameterFieldDefinitions As ParameterFieldDefinitions
    Dim crParameterFieldDefinition As ParameterFieldDefinition
    Dim crParameterValues As New ParameterValues
    Dim crParameterDiscreteValue As New ParameterDiscreteValue

    crParameterDiscreteValue.Value = TextBox1.Text
    crParameterFieldDefinitions =  -
        cryRpt.DataDefinition.ParameterFields
    crParameterFieldDefinition =  _
        crParameterFieldDefinitions.Item("Customername")
    crParameterValues = crParameterFieldDefinition.CurrentValues

    crParameterValues.Clear()
    crParameterValues.Add(crParameterDiscreteValue)
    crParameterFieldDefinition.ApplyCurrentValues(crParameterValues)

    CrystalReportViewer1.ReportSource = cryRpt
    CrystalReportViewer1.Refresh()
End Sub
代码来源: 末级

string query = "select * from TestReport";

sqlconn.Open();

da = new SqlDataAdapter(query, sqlconn);

SqlCommandBuilder scb = new SqlCommandBuilder(da);

da.Fill(DS.TestReport);//DS is a DataSet object .

myCrystalReport1.SetDataSource(DS);


//-----------------

ParameterField paramfield = new ParameterField();

ParameterFields paramfields = new ParameterFields();

ParameterDiscreteValue discreteval = new ParameterDiscreteValue();


paramfield.Name = "myfirstname";

discreteval.Value = "10"; 


paramfield.CurrentValues.Add(discreteval); 

paramfields.Add(paramfield);

crystalReportViewer1.ParameterFieldInfo = paramfields;

//-----------------

crystalReportViewer1.ReportSource = myCrystalReport1;


crystalReportViewer1.Refresh();

sqlconn.Close();