1 修改rdl变为rdlc报表文件
直接用reportviewer control做rdlc报表 在数据源这一块感觉处理的很混乱 而简单起见可以利用vs2005的business intelligence project 做一个服务器报表(rdl报表) 具体步骤不再赘述 可参看sqlserver帮助文档
用文本编辑器 参看以下文本






























Field 节点可以自己往里面添加 但必须和你的自定义数据源的item结构信息相同
比如你addressinfo里有一个AddressID属性 那么对应于
<Field Name="AddressID"> <rd:TypeName>System.Int32</rd:TypeName>
<DataField>AddressID</DataField>
</Field> 可根据逻辑加一些只读属性结合使用
报表中使用 以textbox为例子 可用表达式 =First(Fields!AddressID.Value, "Address") 来取得
最后改后缀名为rdlc
2.建立自定义数据源
根据业务需要 可分层也可以不分层 本例用System.Collections.Generic下的List(of OrderInfo)来存储
Order信息
OrderController.Instance.GetOrderList(...) as List(of OrderInfo)得到制定的Order信息
3 绑定自定义数据到reportviewer control 主要代码如下









需要注意的是ReportDataSource的名字和你做rdl报表添加的数据源一致
4 总结
使用rdl简化报表设计 修改rdl中fields可灵活增加字段(相应的rdlc显示字段也做相应修改) 与业务逻辑层相匹配
进一步分离界面与数据.