我有一个包含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,但是我不知道该怎么做。 任何想法 ?谢谢。