Динамический Crystal Report с использованием VS2010 Vb.net - PullRequest
0 голосов
/ 28 марта 2012

Я пытаюсь сгенерировать отчет, используя Crystal studio, который принимает открытую переменную из приложения vb.net. Я думаю, что лучший способ сделать это - просто динамически передать фильтр отчету во время выполнения, но я не могу понять, как настроить его так, чтобы он принимал какую-либо информацию во время выполнения. Любой совет?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2012
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();
0 голосов
/ 28 марта 2012

Лучший способ - создать отчет с параметром, который используется в критериях выбора записей. Затем вы можете загрузить отчет и заполнить параметр следующим образом:

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

Код от: http://vb.net -informations.com / crystal-report / vb.net_crystal_report_parameter_string.htm Конечный класс

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...