zoukankan      html  css  js  c++  java
  • Silverlight打印解决方案2.0之如何自定义表体

    通常我们的表体都是二维表格形式的,正如 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();
            }

    生成的报表是这个样子:

  • 相关阅读:
    设计模式的类型
    SQL介绍(1)
    MySQL(介绍1)
    MyBatis总结(1)
    使用SQLServer Profiler侦测死锁(转)
    SQL Server 数据库中关于死锁的分析
    Delphi内嵌汇编语言BASM精要(转帖)
    Delphi项目构成之单元文件PAS
    Delphi中Interface接口的使用方法
    Delphi项目构成之项目文件DPR
  • 原文地址:https://www.cnblogs.com/slmk/p/2524712.html
Copyright © 2011-2022 走看看