关于ReportParameter的参数问题

qb63365 2010-05-17 10:46:36
我在使用RDLC报表的时候用到了ReportParameter方法,
运行到reportViewer.LocalReport.SetParameters(image);时报错
说(试图设置未在此报表中定义的报表参数"image")
我想问一下,ReportParameter("image", paths);里的参数"image"是和哪里的值(或者是变量)对应着的?

部分代码
Microsoft.Reporting.WinForms.ReportParameter[] image =
new Microsoft.Reporting.WinForms.ReportParameter[1];
image[0] = new Microsoft.Reporting.WinForms.ReportParameter("image", paths);
reportViewer.LocalReport.SetParameters(image);
reportViewer.RefreshReport();

分数优先,请帮帮忙
...全文
1753 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wome0001 2012-06-30
  • 打赏
  • 举报
回复
不好意思,上面的回复有手误,应该是:
简单例子的参数值得用法有误,应该是:textbox1.Value 对应值=Parameters!Name.Value
wome0001 2012-06-30
  • 打赏
  • 举报
回复
简单例子的参数值得用法有误,应该是:textbox1.Value 对应值=Parameters!rp1.Value
a05911 2010-09-04
  • 打赏
  • 举报
回复
接收参数的报表没有设置报表参数 菜单 报表 报表参数 添加参数要和父服报参数同名
qb63365 2010-05-20
  • 打赏
  • 举报
回复
RDLC该如何绑定参数呢,除了绑定VO对象,换一种其它绑定方式会不会好用呢?
qb63365 2010-05-20
  • 打赏
  • 举报
回复
自己顶一下
qb63365 2010-05-18
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jlm1019 的回复:]

是不是你代码有问题,我试过,参数能传的啊?要不,你把代码贴出来看看!
[/Quote]

我写了一个简化的例子,传参还是出同样的错误,代码如下

private void Form6_Load(object sender, EventArgs e)
{
Microsoft.Reporting.WinForms.ReportParameter[] para =
new Microsoft.Reporting.WinForms.ReportParameter[2];
string path1 = "pathtext1";
string path2 = "pathtext2";
para[0] = new Microsoft.Reporting.WinForms.ReportParameter("Name", path1);
para[1] = new Microsoft.Reporting.WinForms.ReportParameter("Price", path2);
this.reportViewer1.LocalReport.SetParameters(para);
this.reportViewer1.RefreshReport();
}

RDLC里有两个textbox,
textbox1.Value 对应值=Fields!Name.Value
textbox2.Value 对应值=Fields!Price.Value


RDLC对应数据源是ValueObject类,里面只有两个属性,如下:

public class Product
{
private string m_name;
private int m_price;

public Product(string name, int price)
{
m_name = name;
m_price = price;
}

public string Name
{
set { m_name = value; }
get { return m_name; }
}

public int Price
{
set { m_price = value; }
get { return m_price; }
}
}

运行到 this.reportViewer1.LocalReport.SetParameters(para);
这里程序停止,应该是属性对应错了,我之前都是用List<>,这次因为项目需求
必须要用ReportParameter类,可它对应的参数MSDN中的解释也很模糊
Name 获取或设置参数的名称。 是哪里出错了呢?
ErrorCode1987 2010-05-17
  • 打赏
  • 举报
回复
Microsoft.Reporting.WinForms.ReportParameter[] image =
new Microsoft.Reporting.WinForms.ReportParameter[1];

image换个名称
jlm1019 2010-05-17
  • 打赏
  • 举报
回复
和报表里定义的参数一样!
qb63365 2010-05-17
  • 打赏
  • 举报
回复
是不是需要把用到的参数全部SetParameters进去啊
qb63365 2010-05-17
  • 打赏
  • 举报
回复
ReportParameter("image", paths)
它的参数应该是和RDLC报表里的参数是一样的,我赢的参数是一个VO对象,里边的存在名为"image"
的对象,但是还是报错,不知道是哪里配置错了
皇城龙三 2010-05-17
  • 打赏
  • 举报
回复
你在报表中有没有用到image这个变量阿
qb63365 2010-05-17
  • 打赏
  • 举报
回复
分数有限,请帮帮忙
jlm1019 2010-05-17
  • 打赏
  • 举报
回复
是不是你代码有问题,我试过,参数能传的啊?要不,你把代码贴出来看看!
qb63365 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jlm1019 的回复:]

和报表里定义的参数一样!
[/Quote]

我报表里也的确有用到了这个参数
qb63365 2010-05-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 errorcode1987 的回复:]

Microsoft.Reporting.WinForms.ReportParameter[] image =
new Microsoft.Reporting.WinForms.ReportParameter[1];

image换个名称
[/Quote]

换名称也不管用啊

110,878

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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