我有这些字段的水晶报告: -名称 - 其他
“其他”字段不是数据库字段,因此我将其添加为未绑定字段。 然后我在我的控制器中有这个代码:
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报告)。
在我的报告中,我正确地获取了“名称”字段的文本,但“其他”字段为空。如何将数据表中的列与此字段关联?
提前致谢。
答案 0 :(得分: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();
}
试试这段代码.......
答案 1 :(得分:-1)
用VB试试这个
'将texbox2传递给unbounddate1 CrystalReportSource1.ReportDocument.DataDefinition.FormulaFields.Item(“unbounddate1”)。Text =“'”&amp; Me.TextBox2.Text&amp; “'” '将texbox3传递给unbounddate2 CrystalReportSource1.ReportDocument.DataDefinition.FormulaFields.Item(“unbounddate2”)。Text =“'”&amp; Me.TextBox3.Text&amp; “'”