• 11.10 如何使用报表打印?


    报表输出是所有信息系统基本的功能之一,但有些报表输出过程过于复杂,操作不便,影响开发速度,代码分散在界面UI层的各处,一方面维护不便,一方面WebWinform桌面应用处理方式不同,相同的代码在不同的UI层移植时工作量大,因此我们作了统一的处理。

    所在组件:IBeamMDAACommon.dllIBeamMDAAWinUI.dll

    名称空间:IBeam.MDAA.Utility (接口定义) IBeam.MDAA.WinUI Winform打印)

    用法举例:

     

    IBeamMDAA使用的报表是RDLC报表,设计思想与应用方法如下:

           报表接口定义:

    public interface IReport

        {

            CRDLCReport GetReport();

    }

     

    报表辅助类定义:

    /// <summary>

        /// 报表参数

        /// </summary>

        [Serializable]

        public sealed class CReportParameter

        {

            #region 共有属性

            // Properties

            public string Name

            {

                get;

                set;

            }

     

            public string[] Values

            {

                get;

            }

     

            public bool Visible

            {

                get;

                set;

            }

            #endregion

        }

    // 摘要:

        //     表示报表的数据源

        [Serializable]

        public sealed class CReportDataSource

        {

            //

            // 摘要:

            //     使用值构造命名数据源

            //

            // 参数:

            //   name:

            //     数据源的名称。

            //

            //   dataSourceValue:

            //     数据源的值。

            public CReportDataSource(string name, object dataSourceValue)

            {

                _Name = name;

                _dataSourceValue = dataSourceValue;

            }

            string _Name;

            /// <summary>

            /// 获取或设置报表数据源的名称

            /// </summary>

            public string Name

            {

                get

                {

                    return _Name;

                }

                set

                {

                    _Name = value;

                }

            }

     

            object _dataSourceValue;

            /// <summary>

            /// 获取或设置报表数据源实例

            /// </summary>

            public object Value

            {

                get

                {

                    return _dataSourceValue;

                }

                set

                {

                    _dataSourceValue = value;

                }

            }

        }

     

    第一步:在业务实例类中使用报表接口:

     

    第二步:接口方法实现: 

     

    第三步:在Winform桌面应用中打印报表: 

     

  • 相关阅读:
    清除 Windows 系统垃圾的 bat
    java通过System.getProperty获取系统属性
    【转】Angular之constructor和ngOnInit差异及适用场景
    p中不能包含div
    How to make PostgreSQL functions atomic?
    How to chain a command after sudo su?
    javascript柯里化
    如何在Angular优雅编写HTTP请求
    angular default project (angular.json的解读)
    error:crosses initialization of ...的解决办法
  • 原文地址:https://www.cnblogs.com/yyj/p/2209926.html
Copyright © 2020-2023  润新知