本帖最后由 Lenka.Guo 于 2016-6-16 11:21 编辑
报表头和细节数据来源于不同数据表;表头用参数指定:sReport1.Parameters[1].Value = dr1["ItemName"].ToString();
sReport1.Parameters[2].Value = dr1["ProjectName"].ToString();
细节用:文本框的DataFile已设置为MaterialNo
SqlStr = "select MaterialNo from PurchaseApplyMx where NoteNo='16060015'";
Cmd = new SqlCommand(SqlStr, sqlcon);
SqlDataAdapter Da = new SqlDataAdapter();
DataSet ds = new DataSet();
Da = new SqlDataAdapter(SqlStr, sqlcon);
Da.Fill(ds, "PurchaseApplyMx");
if (ds.Tables [0].Rows .Count >0)
{
sReport1.DataSource = ds;
}
但报表运行时出现:DataMember '' 在报表 '[PurchaseApplyNew_Prt]'中没有找到。 行 66: sReport1.Run();
如果代码放在报表文件中;private void SectionReport1_ReportStart(object sender, EventArgs e)
{
SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["db_sbglConnectionString"].ConnectionString);
sqlcon.Open();
SqlStr = "select * from PurchaseApplyMx where NoteNo='16060015'";
Cmd = new SqlCommand(SqlStr, sqlcon);
SqlDataAdapter Da = new SqlDataAdapter();
DataSet ds = new DataSet();
Da = new SqlDataAdapter(SqlStr, sqlcon);
Da.Fill(ds, "PurchaseApply");
if (ds.Tables[0].Rows.Count > 0)
{
this.DataSource = ds;
也一样错误(注:代码没有齐)
加上foreach (DataRow mDr in ds.Tables[0].Rows)
{
txtMaterialNo.Text = mDr["MaterialNo"].ToString();
}
只能打印一条记录,不知何故?
|