2

我有一个包含这些字段的水晶报告:-Name -Other

“其他”字段不是数据库字段,因此我将其添加为未绑定字段。然后我的控制器中有这段代码:

DataSet ds = new DataSet();
DataTable dt = new DataTable("Product");
dt.Columns.Add("Name");
dt.Columns.Add("Other");

填充上述数据表后,我将其添加到数据集,然后将数据集设置为报表的数据源:

ReportDocument report = new ReportDocument();
string reportFile = Server.MapPath("~/") + "\\bin\\Reports\\MyReport.rpt";
report.Load(reportFile);
report.SetDataSource(ds);

然后我设置导出选项(这是一个 excel 报告)。

在我的报告中,我正确获取了“名称”字段的文本,但“其他”字段为空。如何将数据表中的列关联到该字段?

提前致谢。

4

2 回答 2

1

这是 aspx 文件:

  <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" EnableParameterPrompt="false"
                    ReuseParameterValuesOnRefresh="true" EnableDatabaseLogonPrompt="False" ToolPanelView="None"
                    HasToggleParameterPanelButton="false" HasCrystalLogo="False" />

这是cs文件……

 protected void btnSubmit_Click(object sender, EventArgs e)
        {            
            LoadData();
        }
        protected void LoadData()
        {           
            DataSet ds= null;
            ds = new DataSet();
            DataTable dt = new DataTable("Product");
            dt.Columns.Add("Name");
            dt.Columns.Add("Other");           
            rptDoc.Load(Server.MapPath("~/bin/Reports/MyReport.rpt"));          
            rptDoc.SetDataSource(ds);           

            CrystalReportViewer1.ReportSource = rptDoc;
            CrystalReportViewer1.DataBind();
            CrystalReportViewer1.refreshreport();                     
        }

试试这个代码......

于 2013-05-17T06:21:50.590 回答
-1

用VB试试这个

'将 texbox2 传递给 unbounddate1 CrystalReportSource1.ReportDocument.DataDefinition.FormulaFields.Item("unbounddate1").Text = "'" & Me.TextBox2.Text & "'" '将 texbox3 传递给 unbounddate2 CrystalReportSource1.ReportDocument.DataDefinition.FormulaFields.Item( "unbounddate2").Text = "'" & Me.TextBox3.Text & "'"

于 2014-12-10T10:37:43.190 回答