Dynamically set devexpress report parameter

邮差的信 提交于 2020-01-21 10:24:00

问题


I am new to devexpress reports. I know how to set the data for my report e.g. I got the following codes. I can populate and generate my report. The issue in the parameter design I can assign data source, data member, data display. But I dont know to populate the parameters dynamically say on load of the report?

public report1()
{
    InitializeComponent();
    rpt2 rp2 = new rpt2();
    rp2.DataSourceDemanded += rp2_DataSourceDemanded;

    pre1.DocumentSource = rp2;
}
void rp2_DataSourceDemanded(object sender, EventArgs e)
{
    rpt2 report = sender as rpt2 ;
    companyDS ds1 = new companyDS();
    myCon getMyCon1 = new myCon();
    SQLiteConnection con = getMyCon1.GetConnection();
    string sql = "SELECT companyID,companyName from company";
    SQLiteCommand cmd = new SQLiteCommand(sql, con);            
    using (SQLiteDataAdapter da = new SQLiteDataAdapter(cmd))
    {
        da.Fill(ds1, "Datatable1");
    }
    report.DataSource = ds1;
    report.DataMember = ds1.DataTable1.TableName;
}

回答1:


I suggest you go through these example and documentation references.

How to: Create a Report with Parameters (Runtime Sample)
How to add parameters to a report at runtime
Passing a parameter to the report at runtime
how to pass parameter in devexpress report

example:

private void simpleButton1_Click(object sender, EventArgs e) {
    // Create a report instance.
    XtraReport1 report = new XtraReport1();

    // Create a parameter and specify its name.
    Parameter param1 = new Parameter();
    param1.Name = "CatID";

    // Specify other parameter properties.
    param1.Type = typeof(System.Int32);
    param1.Value = 1;
    param1.Description = "Category: ";
    param1.Visible = true;

    // Add the parameter to the report.
    report.Parameters.Add(param1);

    // Specify the report's filter string.
    report.FilterString = "[CategoryID] = [Parameters.CatID]";

    // Force the report creation without previously 
    // requesting the parameter value from end-users.
    report.RequestParameters = false;

    // Show the parameter's value on a Report Header band.
    XRLabel label = new XRLabel();
    label.DataBindings.Add(new XRBinding(param1, "Text", "Category: {0}"));
    ReportHeaderBand reportHeader = new ReportHeaderBand();
    reportHeader.Controls.Add(label);
    report.Bands.Add(reportHeader);

    // Assign the report to a ReportPrintTool,
    // to hide the Parameters panel,
    // and show the report's print preview.
    ReportPrintTool pt = new ReportPrintTool(report);
    pt.AutoShowParametersPanel = true;
    pt.ShowPreviewDialog();
}

Hope this help.



来源:https://stackoverflow.com/questions/34696651/dynamically-set-devexpress-report-parameter

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!