使用C#代码向Crystal Report(RPT)添加新字段

我有一个水晶报表rpt报表,该报表创建了一些填充有数据表的固定字段,该数据表中获得的字段可能会根据表单中字段的SQL语句而有所不同。因此,问题是,在设计rpt表单时,我是否可以通过代码添加在数据表中获得的新字段。例如,在数据表中,我得到了名字和姓氏字段,并在报表中显示了它们(在设计中,我已插入了名字和姓氏字段)。现在,在数据表中,我得到了姓名,姓氏和电话,如果我调用相同的报告,它将仅填写姓名和姓氏,不会出现未插入报告中的“电话”字段,而是添加它。我以这种方式填充数据集:

DataSet ds = new dsDataSet();
ds.Tables.Add(new DataTable());
    foreach (DataColumn column in dtBusqueda.Columns)
    {
        ds.Tables[0].Columns.Add(column.ColumnName);
    }

现在,就像我之前解释的那样,将那些数据集字段插入到报表中。该报告加载如下:

ReportDocument Report = new ReportDocument();
Report.Load("../../crReporte.rpt");
Report.SetDataSource(dtDataTable);
frmReportes form = new frmReportes(Report);
form.Show();

谢谢。

happy_moto 回答:使用C#代码向Crystal Report(RPT)添加新字段

Crystal仅与预定义的数据对象一起使用,以指定格式显示数据。因此,如果您传递不同的数据对象,那么它将给您错误,使其无法找到您的列。

我可以提供:

1)全部使用相同的dataTable源(原始输入tel列)。因此,请在Crystal Report中为您的特殊列设置可见性。有压力。

2)您可以创建2个不同的报告,并且在If Case中,可以根据需要加载另一个报告模板。

如果仅是电话号码,则不需要复杂的要求。使用方法1.设置可见性。 但是,如果您有复杂的要求。我认为您应该使用2种不同的报告模板。

本文链接:https://www.f2er.com/3152946.html

大家都在问