VS2010 RDLC 报表使用心得

      

      使用VS2010自带rdlc报表,用表格显示数据,无论主体的高、宽怎么调,总是在预览打时多出一张空白页,相当烦人,终于在xfblue的博客‘VS2010 RDLC 报表使用心得’中找到了原因,此问题答案在文章第四条,以下是文章全文。特别声明:本文转载至 xfblue 的文章

 

      不得不说微软的东西很傻瓜化,但是个人感觉用之前一头雾水,费了九牛二虎之力搞清楚了之后发现只不过如此。为了让新入手VS2010 报表的朋友少走些弯路,也为了帮助记忆,特此写下一些东西。

    一、报表绑定的数据集是一个带参数的结构化存储过程怎么办?

    在添加了一个一个带参数的结构化存储过程(该存储过程暂且叫SP)后,会发现如下提示:

向导在配置TableAdapter检测到以下问题:"SP":

详细信息:

    已生成SELECT语句。

    Invalid object name '#临时表名'.

要将这些组件添加到数据集中,请单击"完成"。

    看到上面的错误提示,怎么办?不用管,直接完成(该数据集暂且叫DS)。这时候来到报表设计,添加数据集会发现刚才建好的数据集DS没有字段。解决办法是打开报表的XML格式,找到数据集,添加字段。如下:

  1. <DataSets> 
  2.     <DataSet Name="DS"> 
  3.     --开始添加 
  4.       <Fields> 
  5.         <Field Name="字段名"> 
  6.           <DataField>字段名</DataField> 
  7.           <rd:TypeName>System.String</rd:TypeName> 
  8.         </Field> 
  9.       </Fields> 
  10.       --结束添加 
  11.       <Query> 
  12.         <DataSourceName>ReportsDataSet</DataSourceName> 
  13.         <CommandText>/* Local Query */</CommandText> 
  14.       </Query> 
  15.       <rd:DataSetInfo> 
  16.         <rd:DataSetName>ReportsDataSet</rd:DataSetName> 
  17.         <rd:SchemaPath>...</rd:SchemaPath> 
  18.         <rd:TableName>TableName</rd:TableName> 
  19.         <rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod> 
  20.         <rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod> 
  21.         <rd:TableAdapterName>TableAdapter</rd:TableAdapterName> 
  22.       </rd:DataSetInfo> 
  23.     </DataSet> 
  24.   </DataSets> 

添加完以后,把RDLC报表关了重新打开,就能看到数据集的字段了。

    二、在asp页面添加ReportViewer控件并选择报表后,选择的数据源是带参数的存储过程怎么传参数?

其实这个很简单,直接给数据源参数的默认值赋值即可。如下:

                  this.ObjectDataSource.SelectParameters["参数名"].DefaultValue = "值";

    三、RDLC 报表 有空白页?

报表“主体属性”的宽 + “报表属性”的左右边距 一定要小于 “报表属性”的宽

报表“主体属性”的高 + “页眉”的高 + “页脚”的高 + “报表属性”的上下边距  一定要小于 “报表属性”的

    四、RDLC 报表 使用Table 总多出来一个空白页?

     报表主体的高度应该设为最小,也就是报表主体内各种控件加起来的高度,这样就不会在打印的时候多出空白页

    五、 VS2010 RDLC 报表 表(table) 因数据量过大导致分页的时候如何显示表头?

手动在XML中加入如下

<TablixRowHierarchy>
          <TablixMembers>
            <TablixMember>
              <KeepWithGroup>After</KeepWithGroup>
              <RepeatOnNewPage>true</RepeatOnNewPage>
              <KeepTogether>true</KeepTogether>
            </TablixMember>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值