C#Winforms Crystal Report Viewer从其他表单加载数据

时间:2019-05-30 10:04:34

标签: c# winforms crystal-reports

我有一个包含Crystal Report Viewer的表单,在此表单的代码中,我将数据加载到Crystal Report Viewer中,以这种方式从表中获取数据,这种方法可以正常工作并显示数据:

// Declare a class named Cliente
public class Cliente
    {
        public int iId { get; set; }
        public string sNombre { get; set; }
        public string sNIF { get; set; }
        public string sDireccion { get; set; }
        public string sTelefono { get; set; }
        public string sEmail { get; set; }
        public string sWeb { get; set; }
        public bool bActivo { get; set; }
        public string sObservacion { get; set; }
    }
// I declare the variables
Cliente oCliente = new Cliente();
// Get data like select * from cliente with the function
oCliente = GetClienteData("Table_Clientes", Id_Cliente);
ReportDocument cryRpt = new ReportDocument();
string path = "../../crCliente.rpt";
cryRpt.Load(path);
// Fill the parammeters with values from variable
cryRpt.SetParameterValue("txtIdCli", oCliente.iId);
cryRpt.SetParameterValue("txtNombreCli", oCliente.sNombre);
cryRpt.SetParameterValue("txtNIFCli", oCliente.sNIF);
CrystalReportViewer1.ReportSource = cryRpt; // The crystal report viewer in the form

我想做的是从另一种形式加载数据,而不是从与CrystaReportViewer相同的形式加载数据。 我已经尝试过使用其他形式(请参见最后一行):

// Get data like select * from cliente with the function
oCliente = GetClienteData("Table_Clientes", Id_Cliente);
ReportDocument cryRpt = new ReportDocument();
string path = "../../crCliente.rpt";
cryRpt.Load(path);
// Fill the parammeters with values from variable
cryRpt.SetParameterValue("txtIdCli", oCliente.iId);
cryRpt.SetParameterValue("txtNombreCli", oCliente.sNombre);
cryRpt.SetParameterValue("txtNIFCli", oCliente.sNIF);
Form1.CrystalReportViewer1.ReportSource = cryRpt; // The crystal report viewer in the form

它显示一条消息错误

not accessible due to protection level

我认为可能是因为我需要在包含给公众的表单上制作CrystalReportViewer1,但是我不知道该怎么做。 任何想法 ?谢谢。

0 个答案:

没有答案