Silverlight打印解决方案2.0之如何自定义表体

本文介绍如何使用Silverlight实现报表的自定义表体布局。通过XAML定义了报告的页眉、项模板及页脚,并在C#代码中设置数据源及预览,实现了灵活的报表展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常我们的表体都是二维表格形式的,正如 Silverlight打印解决方案2.0 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值