RDLC绑定数据源的时候提示:报表项表达式只能引用当前数据集作用域内的字段或指定数据集作用域内的字段
来源:互联网 发布:js使用java变量 编辑:程序博客网 时间:2024/05/18 01:24
比如指定的RDLC报表的数据集中只有A B C 三个字段(RDLC的<CommandText>SELECT A,B,C FROM dbo.TableName</CommandText>),需要手动增加列的时候(比如在报表里显示A B C D列,D列可能是个运算得到字段等等)如果直接在绑定数据源的代码里写会提示:报表项表达式只能引用当前数据集作用域内的字段或指定数据集作用域内的字段。
实例:
DataTable dt = new DataTable();dt = DbHelperSQL.Query("SELECT A,B,C,SUM(A+B) AS D FROM table GROUP BY A,B,C").Tables[0];ReportViewer1.LocalReport.ReportPath = @"test.rdlc";ReportViewer1.LocalReport.DataSources.Clear();ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("myds", dt));
如果遇到上面的问题,通过新建数据库的视图,然后重新制定RDLC的数据集应该也能解决问题。现在我用的方法是 用记事本(VS2008好像没办法直接看到RDLC的设计代码)打开test.rdlc,然后找到<DataSets> <DataSet Name="myds"> <Fields>在里面增加一个D的描述就行了。
比如原来的是
<Field Name="A">
<DataField>A</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="B">
<DataField>B</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="C">
<DataField>C</DataField>
<rd:TypeName>System.DateTime</rd:TypeName>
</Field>
增加一个D的描述
<Field Name="D">
<DataField>D</DataField>
<rd:TypeName>System.Int</rd:TypeName>
注意最后一行的数据类型描述。
- RDLC绑定数据源的时候提示:报表项表达式只能引用当前数据集作用域内的字段或指定数据集作用域内的字段
- 变量作用域内的子作用域内被重新定义的思考
- 在方法和作用域内的内部类
- 10.5 在方法和作用域内的内部类
- 内部类在方法和作用域内的用途
- 在方法和作用域内的内部类
- JavaScript简单取得函数作用域内变量的方法
- JS函数运行在它们被定义的作用域内,而不是它们被执行的作用域内
- 果局部变量与实例变量同名,那么如何在局部变量的作用域内引用实例变量?
- C++学习笔记之作用域为类的常量和作用域内的枚举
- 位域字段超过1的情况下的位域内存布局
- asp.net中轻量级报表RDLC的动态数据绑定
- 封装字段的作用
- 在局部变量作用域内如何访问与局部变量同名的全局变量?
- #50 – Application-Scoped Properties(作用在应用程序域内的属性)
- java炒冷饭系列11 方法和作用域内的内部类 与 匿名内部类
- 有权访问另一个函数作用域内变量的函数都是闭包。
- IFS域内字段分隔符
- android 手机的基本操作
- windows下wamp安装php5.3扩展memcache
- Linux socket-多进程面向连接的服务器客户端程序
- Linux使用yum安装时出现The program package-cleanup is found in the yum-utils package.解决方法
- 使用花生壳将局域网内的FTP和WWW发布到互联网
- RDLC绑定数据源的时候提示:报表项表达式只能引用当前数据集作用域内的字段或指定数据集作用域内的字段
- UTF-8、UTF-16、UTF-32之间的编码转换
- POJ1321
- emacs config
- Nokia Lumia 920
- ORACLE 常用指令
- 权限控制的Ext树的实现
- windows中的会话概念的总结
- c/delphi转换