用程序动态生成RDLC报表,怎样才能实现多行复合表头~~急!

kaiqiwangzi 2010-07-20 01:54:45
RT


希望各位高手不吝赐教啊~~
...全文
786 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nini_fen 2010-12-08
  • 打赏
  • 举报
回复
您好,我最近正在做这个功能,您能把动态实现rdlc的代码发一份到我邮箱吗。不胜感激。我的邮箱是jiaxiyaquan@163.com。。真的会很感谢。
阿泰 2010-07-21
  • 打赏
  • 举报
回复
生成报表后,最终都是生成一个.RDLC文件
我觉得首先做好一个普通的列表形式的报表
然后将把某些单元格进行合并,保存成另外一个RDLC
比较这两个RDLC中XML代码的差别,

然后通过操作XML的方式(修改节点或增加删除节点等)操作最开始的rdlc文件,来实现动态合并的最终效果。
kaiqiwangzi 2010-07-20
  • 打赏
  • 举报
回复
额 谢谢阿泰~我用的生成rdlc报表的方法是用了三个类:
ReportDefinition\TableRdlGenerator\RdlGenerator

动态生成的。主要是根据ReportDefinition定义的报表Schema操作的,

所有rdlc报表的数据源是一个datatable来填充的~
阿泰 2010-07-20
  • 打赏
  • 举报
回复
下面的代码是表头的代码,用到了一个合并单元格,红色部分
<TableRow>
<TableCells>
<TableCell>
<ReportItems>
<Textbox Name="textbox2">
<rd:DefaultName>textbox2</rd:DefaultName>
<Style>
<Color>White</Color>
<BackgroundColor>SteelBlue</BackgroundColor>
<BorderColor>
<Default>LightGrey</Default>
</BorderColor>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<FontSize>11pt</FontSize>
<FontWeight>700</FontWeight>
<TextAlign>Right</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>6</ZIndex>
<CanGrow>true</CanGrow>
<Value>Employee ID</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ColSpan>2</ColSpan> <ReportItems>
<Textbox Name="textbox3">
<rd:DefaultName>textbox3</rd:DefaultName>
<Style>
<Color>White</Color>
<BackgroundColor>SteelBlue</BackgroundColor>
<BorderColor>
<Default>LightGrey</Default>
</BorderColor>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<FontSize>11pt</FontSize>
<FontWeight>700</FontWeight>
<TextAlign>Right</TextAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>5</ZIndex>
<CanGrow>true</CanGrow>
<Value>Supervisor ID</Value>
</Textbox>
</ReportItems>
</TableCell>
<TableCell>
<ReportItems>
<Textbox Name="textbox5">
<rd:DefaultName>textbox5</rd:DefaultName>
<Style>
<Color>White</Color>
<BackgroundColor>SteelBlue</BackgroundColor>
<BorderColor>
<Default>LightGrey</Default>
</BorderColor>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
<FontFamily>宋体</FontFamily>
<FontSize>11pt</FontSize>
<FontWeight>700</FontWeight>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
<ZIndex>4</ZIndex>
<CanGrow>true</CanGrow>
<Value>First Name</Value>
</Textbox>
</ReportItems>
</TableCell>
</TableCells>
<Height>0.55873cm</Height>
</TableRow>
</TableRows>

如果你的动态创建方法是直接生成RDLC的xml格式文件
那么就可以观察比较合并单元格和普通单元格的区别来修改xml文件来实现
kaiqiwangzi 2010-07-20
  • 打赏
  • 举报
回复
...没有人会么 杯具~

4,816

社区成员

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

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