首先声明下,这个是关于winForm的程序~
刚建立水晶报表时,我没用向导,直接建了一个空白报表~
建了一个窗体后,加入CrystalReportViewer 命名为CRViewer,
新建一个报表,报表名为rptNormal!
然后在窗体的Load()事件中加入以下代码,高手看一下是不是有什么错误!
private void FrmMain_Load(object sender, EventArgs e)
{
string strPath=Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("//")).LastIndexOf("//"));
strPath+=@"rptNormal.rpt";
string connStr="server=.;dataBase=kz1;integrated security=sspi";
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from tblMachine", conn);
sda.Fill(ds, "tblMachine");
rptNormal rpt = new rptNormal();
rpt.SetDataSource(ds.Tables["tblMachine"]);
this.CRViewer.ReportSource = rpt;
}
以上代码中
string strPath=Application.StartupPath.Substring(0, Application.StartupPath.Substring(0, Application.StartupPath.LastIndexOf("//")).LastIndexOf("//"));
strPath+=@"rptNormal.rpt";
这两句都没用到!
运行到rpt.SetDataSource(ds.Tables["tblMachine"]);报错提示:该报表不包含表!
2.还有一个问题:是不是要在报表文件里加入什么东西,即在本示例中rptNormal里加入什么东西!
希望高手能解决我的疑惑啊,谢谢啦,有分的!