区域报表问题
本帖最后由 Lenka.Guo 于 2016-6-16 11:21 编辑报表头和细节数据来源于不同数据表;表头用参数指定:sReport1.Parameters.Value = dr1["ItemName"].ToString();
sReport1.Parameters.Value = dr1["ProjectName"].ToString();
细节用:文本框的DataFile已设置为MaterialNo
SqlStr = "select MaterialNofrom 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 .Rows .Count >0)
{
sReport1.DataSource = ds;
}
但报表运行时出现:DataMember '' 在报表 ''中没有找到。 行 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.Rows.Count > 0)
{
this.DataSource = ds;
也一样错误(注:代码没有齐)
加上foreach (DataRow mDr in ds.Tables.Rows)
{
txtMaterialNo.Text = mDr["MaterialNo"].ToString();
}
只能打印一条记录,不知何故?
1. 报DataMemeber 错误, 报表参数是否在报表中定义,还有 引用的变量不存在报表中,可通过选中报表,查看代码排查。
2. 在Detail 区域中 不需要添加循环语句,只需要将 TextBox的DataFiled 设置为字段名称, Detail 会根据字段的值,自动添加行。
请问?定义 sReport1.DataSource = ds;的代码在含有WebViewer控件的页面的Load事件中正确吗?应该在那个过程中定义?谢谢! 看到博客的过程:
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
SectionReport_DataSource_RunTime sReport1 = new SectionReport_DataSource_RunTime();
sReport1.DataSource = GetDataSource();
sReport1.Run();
viewer1.Document = sReport1.Document;
}
的事件是那个页面控件发生的?是否这个原因?
ar显示控件是webView,博客代码中为何为viewer1? szpzr 发表于 2016-6-16 13:26
ar显示控件是webView,博客代码中为何为viewer1?
HI~ WebView是web页面的标签, Viewer是winfrom控件,你所看的这个Demo是以winfrom为主的 哦!不知道自己错在哪里?
szpzr 发表于 2016-6-16 13:26
ar显示控件是webView,博客代码中为何为viewer1?
谢谢 @SunDream 的热心回答~
WebViewer 是报表浏览器控件的名称,viewer1 是Webviewer 实例化对象ID,通过这个ID 才能使用报表浏览器。 szpzr 发表于 2016-6-16 14:03
哦!不知道自己错在哪里?
你是需要做到什么样的效果呢?可以在描述一下吗? 谢谢您的指教!我建立的报表表头、细节、表尾数据来自不同表,表头、表尾利用参数传递可以实现,细节部分有多条记录,现在细节部分不知代码哪里错误,无法实现。
页:
[1]
2