博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Silverlight打印解决方案2.0之如何自定义表体
阅读量:7238 次
发布时间:2019-06-29

本文共 1415 字,大约阅读时间需要 4 分钟。

通常我们的表体都是二维表格形式的,正如  Demo 中演示的那样绑定就好了。那如果我要自定义表体怎么办呢?

大体代码是这样的:

1、Xaml:

 

 
<
local:Report 
x:Name
="Report3"
 Title
="自定义表体"
>
                    
<
local:Report.PageHeaderTemplate
>
                        
<
DataTemplate
>
                            
<
TextBlock 
Text
="
{Binding Title}
"
 FontSize
="16"
 FontWeight
="Bold"
 HorizontalAlignment
="Center"
/>
                        
</
DataTemplate
>
                    
</
local:Report.PageHeaderTemplate
>
                    
<
local:Report.ItemTemplate
>
                        
<
DataTemplate
>
                            
<
Grid 
Height
="120"
 Margin
="10"
>
                                
<
Rectangle 
Stroke
="Gray"
 StrokeThickness
="1"
/>
                                
<
StackPanel
>
                                    
<
TextBlock 
Text
="
{Binding Customer.Name}
"
 Margin
="4"
/>
                                    
<
TextBlock 
Text
="
{Binding Product.Name}
"
 Margin
="4"
/>
                                
</
StackPanel
>
                            
</
Grid
>
                        
</
DataTemplate
>
                    
</
local:Report.ItemTemplate
>
                    
<
local:Report.PageFooterTemplate
>
                        
<
DataTemplate
>
                            
<
Grid
>
                                
<
StackPanel 
Orientation
="Horizontal"
                                    HorizontalAlignment
="Right"
                                    VerticalAlignment
="Center"
                                    Margin
="5"
>
                                    
<
TextBlock 
Text
="
{Binding CurrentPageNumber}
"
 
/>
                                    
<
TextBlock 
Text
="
{Binding TotalPageCount, StringFormat='/{0}'}
"
 
/>
                                
</
StackPanel
>
                            
</
Grid
>
                        
</
DataTemplate
>
                    
</
local:Report.PageFooterTemplate
>
                
</
local:Report
>

 

2、cs: 

 

private 
void Button4_Click(
object sender, RoutedEventArgs e)
        {
            
var tag = 
new TagData();
            tag.Total = data.Sum(r => r.Sum);
            tag.Count = data.Count;
            Report3.DefaultPageSize = PageSizes.B5;
            Report3.ItemsSource = data;
            Report3.TagData = tag;
            Report3.Preview();
        }

生成的报表是这个样子:

转载于:https://www.cnblogs.com/slmk/archive/2012/05/29/2524712.html

你可能感兴趣的文章
C# Http POST get
查看>>
sql server 常用脚本
查看>>
88. Merge Sorted Array
查看>>
node(一)安装nodejs最新版到debian,ubuntu,mint系统
查看>>
java 多线程学习笔记
查看>>
Win10下python3和python2同时安装并解决pip共存问题
查看>>
策略模式(Strategy Pattern)
查看>>
CQRS微服务架构模式
查看>>
对某***网站的一次快速处理
查看>>
《Android开发案例驱动教程》云端应用整篇下载
查看>>
30分钟zabbix入门——最简单有效的zabbix快速学习法
查看>>
2012年第一篇博文——致谢:2011年中国IT十大杰出博客获奖感言
查看>>
蔡文胜谈美链:BEC没有任何割韭菜的行为
查看>>
Android、iOS和Windows Phone中的推送技术
查看>>
DELL软件:像胶水一样具有黏性
查看>>
社交网站存在七大安全风险 可能成为用户隐私泄露重灾区
查看>>
C# 线程手册 第二章 .NET 中的线程
查看>>
Django实战(4):scaffold生成物分析
查看>>
复习一下Java中继承关系的类的初始化顺序
查看>>
mysql 导出查询结果到文件
查看>>