在Winform报表中对文本框和表进行分组

乔希·M

BackGround:我正在使用Winforms通过Visual Studio 2012创建一个报表。我的报告包括2个表,两个表都在其上方带有文本框,并带有表名。我知道将表行分组在一起,您可以使用“保持在一起”属性,该属性解决了我原来的问题,即仅显示第一行,然后显示其余页面。

问题:但是,当我导出PDF时(例如,带有第一个表),它显示的文本框具有应有的表名,但该表没有显示3页。

问题:如何在报表中将控件保持在一起,而每个控件之间没有潜在的重叠或较大的间隔?

保证金设置代码(XML代码段)

 <Page>
    <LeftMargin>1in</LeftMargin>
    <RightMargin>1in</RightMargin>
    <TopMargin>1in</TopMargin>
    <BottomMargin>1in</BottomMargin>
    <Style />
  </Page>

.cs代码段

 private void ExportPDF(LocalReport report, string filename)
        {
            Microsoft.Reporting.WinForms.ReportPageSettings rptPageSettings = report.GetDefaultPageSettings();

            string width = "";
            double tmp = ((double)rptPageSettings.PaperSize.Width) * .01;
            width = tmp.ToString("#0.00",System.Globalization.CultureInfo.InvariantCulture) + "in";

            string height = "";
            tmp = ((double)rptPageSettings.PaperSize.Height) * .01;
            height = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

            string topMargin = "";
            tmp = ((double)rptPageSettings.Margins.Top) * .01;
            topMargin = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

            string bottomMargin = "";
            tmp = ((double)rptPageSettings.Margins.Bottom) * .01;
            topMargin = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

            string rightMargin = "";
            tmp = ((double)rptPageSettings.Margins.Right) * .01;
            topMargin = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

            string leftMargin = "";
            tmp = ((double)rptPageSettings.Margins.Left) * .01;
            topMargin = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

            string deviceInfo = "<DeviceInfo><PageWidth>" + width + "</PageWidth><PageHeight>" + height + "</PageHeight><MarginTop>" + topMargin + "</MarginTop><MarginLeft>" + leftMargin + "</MarginLeft><MarginRight>" + rightMargin + "</MarginRight><MarginBottom>" + bottomMargin + "</MarginBottom></DeviceInfo>";

            Warning[] warnings;
            m_streams = new List<Stream>();
            report.Render("PDF", deviceInfo, CreateStream, out warnings);

            FileStream fs = new FileStream(filename, FileMode.Create);

            m_streams[0].Position = 0;
            for (int i = 0; i < m_streams[0].Length; i++)
            {
                fs.WriteByte((byte)m_streams[0].ReadByte());
            }

            fs.Close();
        }

谢谢!

莫非斯

bottomMargin,rightMargin和leftMargin设置为空字符串:

        string bottomMargin = "";
        tmp = ((double)rptPageSettings.Margins.Bottom) * .01;
        bottomMargin = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

        string rightMargin = "";
        tmp = ((double)rptPageSettings.Margins.Right) * .01;
        rightMargin = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

        string leftMargin = "";
        tmp = ((double)rptPageSettings.Margins.Left) * .01;
        leftMargin = tmp.ToString("#0.00", System.Globalization.CultureInfo.InvariantCulture) + "in";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在文本框中显示所有表时对查询进行分组和计数

来自分类Dev

在文本框中显示所有表时对查询进行分组和计数

来自分类Dev

报表查看器在文本框中显示值

来自分类Dev

在Telerik报表中以编程方式调整文本框的大小

来自分类Dev

使用文本框对Winform图形进行数据绑定

来自分类Dev

如何在VBA中获得对文本框控件的引用而不是文本框的值

来自分类Dev

访问:请参阅主报表子报表的详细信息部分中的文本框

来自分类Dev

Winform在文本框中拆分字符串

来自分类Dev

表中文本框中的数据

来自分类Dev

如何使用文本框,进度栏和PerformanceCounters中的值进行计算?C#

来自分类Dev

获取表中每一行的文本框和复选框值

来自分类Dev

在表中动态创建的文本框丢失了文本值

来自分类Dev

SSRS:报表生成器:计算的文本框中的条件格式

来自分类Dev

SSRS:报表生成器:计算的文本框中的条件格式

来自分类Dev

我想在报表生成器3.0中扩展标题文本框的长度

来自分类Dev

如何在RDLC报表的同一文本框中左对齐和右对齐两个不同的表达式?

来自分类Dev

c#文本框和mysql表交互

来自分类Dev

对文本行进行分组,以便如果A = B和B = C,则A = C

来自分类Dev

按键事件并删除文本框和RichTextBox中的文本

来自分类Dev

C#WinForm-如何通过文本框中的文本制作TreeVIew节点/子级?[解决了]

来自分类Dev

使用Winform更新WPF文本框用户控件中的文本

来自分类Dev

将文本框文本从 ac# winForm 连接到静态方法中的变量

来自分类Dev

仍在进行编辑时在文本框中更改事件

来自分类Dev

在Telerik报表中对项目进行分组

来自分类Dev

单击按钮禁用对文本框的只读

来自分类Dev

单击不同的按钮时保持对文本框的关注

来自分类Dev

当失去对文本框的关注时,ReactiveUI RaiseAndSetIfChanged命中

来自分类Dev

如何设置报表服务文本框的默认值?

来自分类Dev

使用Lambda按名称中的通用文本对文件进行分组

Related 相关文章

  1. 1

    在文本框中显示所有表时对查询进行分组和计数

  2. 2

    在文本框中显示所有表时对查询进行分组和计数

  3. 3

    报表查看器在文本框中显示值

  4. 4

    在Telerik报表中以编程方式调整文本框的大小

  5. 5

    使用文本框对Winform图形进行数据绑定

  6. 6

    如何在VBA中获得对文本框控件的引用而不是文本框的值

  7. 7

    访问:请参阅主报表子报表的详细信息部分中的文本框

  8. 8

    Winform在文本框中拆分字符串

  9. 9

    表中文本框中的数据

  10. 10

    如何使用文本框,进度栏和PerformanceCounters中的值进行计算?C#

  11. 11

    获取表中每一行的文本框和复选框值

  12. 12

    在表中动态创建的文本框丢失了文本值

  13. 13

    SSRS:报表生成器:计算的文本框中的条件格式

  14. 14

    SSRS:报表生成器:计算的文本框中的条件格式

  15. 15

    我想在报表生成器3.0中扩展标题文本框的长度

  16. 16

    如何在RDLC报表的同一文本框中左对齐和右对齐两个不同的表达式?

  17. 17

    c#文本框和mysql表交互

  18. 18

    对文本行进行分组,以便如果A = B和B = C,则A = C

  19. 19

    按键事件并删除文本框和RichTextBox中的文本

  20. 20

    C#WinForm-如何通过文本框中的文本制作TreeVIew节点/子级?[解决了]

  21. 21

    使用Winform更新WPF文本框用户控件中的文本

  22. 22

    将文本框文本从 ac# winForm 连接到静态方法中的变量

  23. 23

    仍在进行编辑时在文本框中更改事件

  24. 24

    在Telerik报表中对项目进行分组

  25. 25

    单击按钮禁用对文本框的只读

  26. 26

    单击不同的按钮时保持对文本框的关注

  27. 27

    当失去对文本框的关注时,ReactiveUI RaiseAndSetIfChanged命中

  28. 28

    如何设置报表服务文本框的默认值?

  29. 29

    使用Lambda按名称中的通用文本对文件进行分组

热门标签

归档