微软报表设置参数后,为何只显示一行数据!

废话很多 2007-02-02 02:19:09
private void SetReportParameters(ReportViewerForm rvf)
{

Office.SenderForm thisForm = new Office.SenderForm();
thisForm.ShowDialog();
DialogResult thisDR = thisForm.DialogResult;
if (thisDR == DialogResult.OK)
{
SenderData.SenderTableRow dr = thisForm.SelectedRow;
if (dr != null)
{



ReportParameter setParameterAddress = new ReportParameter("RP_SendAddress", dr["Address"].ToString());
ReportParameter setParameterCompany = new ReportParameter("RP_SendCompany", dr["Company"].ToString());
ReportParameter setParameterSendName = new ReportParameter("RP_SendName", dr["SendName"].ToString());
ReportParameter setParameterPostalCode = new ReportParameter("RP_SendPostalCode", dr["PostalCode"].ToString());
ReportParameter setParameterPhone = new ReportParameter("RP_SendPhone", dr["Phone"].ToString());

rvf.MainReportViewer.LocalReport.SetParameters (new ReportParameter[] { setParameterAddress ,setParameterCompany,setParameterSendName,
setParameterPostalCode,setParameterPhone });
}
thisForm.Dispose();
}

}


ReportViewerForm frmRPT = new ReportViewerForm();


frmRPT.ReportPath = System.Windows.Forms.Application.StartupPath + @"\MRCustomerLetter.rdlc";
this.SetReportParameters(frmRPT);
frmRPT.MainDataSet = this.customerData;
frmRPT.ReportName = "平邮信签";
frmRPT.MainDataSourceName ="CustomerData_CustomerView";

frmRPT.ShowDialog();
...全文
501 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
废话很多 2007-02-02
  • 打赏
  • 举报
回复
我知道了,是不是传递包含两张表的数据源,一张客户表customer,一张寄件人信息表sender.
然后设置相应的值.
lolenboy 2007-02-02
  • 打赏
  • 举报
回复
没什么难点,就是传参数给报表。你应该是做的RDLC还是RDL?反正基本都一样!
tshark 2007-02-02
  • 打赏
  • 举报
回复
做3个参数,Address,Tel,Name,数据源中有三个字段,Add,Phone,Nam
------------------------------
=Parameters!Address.Value =Parameters!Tel.Value =Parameters!Name.Value
=Fields!Add.Value =Fields!Phone.Value =Fields!Nam.Value
-------------------------------

每个表达式都放在一个table中的textbox里面。

注意数据源和参数全部设置好就行了
显示成

地址 电话 姓名
1 11 111
2 22 222
3 33 333

如果是打印信封就是另外的打印了,就象打印商标一样,具体可以在baidu上搜索 "蜡人张"
废话很多 2007-02-02
  • 打赏
  • 举报
回复
我这个报表是要实现这样的效果:
就是寄件人地址,电话,姓名是固定的,像通过参数传递到报表的textbox控件里,固定的.
要求多行显示,实现套打客户的信封.
tshark 2007-02-02
  • 打赏
  • 举报
回复
-------------------------------------------------------------------
=Parameters!Para1.Value =Parameters!Para2.Value
=Fields!Fields1.Value = Fields!Fields.Value
----------------------------------------------------------------
这就是一个table。
如果还不行我也没办法了
tshark 2007-02-02
  • 打赏
  • 举报
回复
参数当然只能显示一行了。传进去的就一个值而已

如果是想把数据源的内容都读出来,那么就放一个table上去,在table里面的每个textbox里面写表达式,绑定数据源。
废话很多 2007-02-02
  • 打赏
  • 举报
回复
我是这样做的,设置了多个参数,每个参数都设置了值.
问题是我的数据源有多行数据,但是显示报表,为何只有一行
tshark 2007-02-02
  • 打赏
  • 举报
回复
1.在报表文件上设置多个textbox(测试用)
2.在报表上增加多个参数Parameter
3.每个textbox的表达式都是一个不同的Parameter的值
4.程序中塞参数,每个参数都必须传进去。
5.运行报表程序。

这样应该可以显示多个参数。注意参数个数和名称都必须一样。

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧