我使用此代碼打開VS2010水晶報表,axCRViewer1
是crystal report viewer control name
,但在這行爲什麼收到此錯誤:指定的轉換是無效
axCRViewer1.ReportSource = rptDoc;
如何解決它得到錯誤?
private void ViewR_Load(object sender, EventArgs e)
{
ReportDocument rptDoc = new ReportDocument();
DataSetPatient ds = new DataSetPatient(); // .xsd file name
DataTable dt1 = new DataTable();
DataTable dt = DBHandling.GetPatient();//getting data using GetPatient()
// Just set the name of data table
dt.TableName = "Crystal Report P";
ds.Tables[0].Merge(dt);
// Your .rpt file path will be below
rptDoc.Load("C:\\Users\\Monika\\Documents\\Visual Studio 2010\\Projects\\SonoRepo\\SonoRepo\\Reports\\CrystalReportP.rpt");
//set dataset to the report viewer.
rptDoc.SetDataSource(ds);
axCRViewer1.ReportSource = rptDoc;//getting error at this line
// code to get data from the DB
}
Getpatient()的代碼
public static DataTable GetPatient()
{
DataTable patientTable = new DataTable();
using (OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=sonorepo.mdb"))
{
using (OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT PatientID,PFirstName FROM Patient_Registration", con))
da.Fill(patientTable);
}
return patientTable;
}
'axCRViewer1.ReportSource'預期的類型是什麼,使用'(顯式強制轉換)rptDoc'作爲該類型並嘗試。 –
也許這與您的問題有關http://scn.sap.com/message/14127240 – V4Vendetta