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();
            }

    生成的报表是这个样子:

  • 相关阅读:
    【转】logback logback.xml常用配置详解(三) <filter>
    【转】logback logback.xml常用配置详解(二)<appender>
    【转】logback logback.xml常用配置详解(一)<configuration> and <logger>
    webhook: requestbin
    Docker: repository, image, container
    Python 知识点
    MySql: 常见sql语句
    MySql: 常见错误
    Linux 网络命令必知必会之 tcpdump,一份完整的抓包指南请查收!
    这些好用的 Chrome 插件,提升你的工作效率
  • 原文地址:https://www.cnblogs.com/slmk/p/2524712.html
Copyright © 2011-2022 走看看