zoukankan      html  css  js  c++  java
  • FastReport.Net

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using FastReport;
    using FastReport.Data;
    using FastReport.Editor;
    using FastReport.Design;
    using FastReport.Data.ConnectionEditors;
    using FastReport.Forms;
    using FastReport.Utils;
    using FastReport.Table;
    using System.Data.SqlClient;
     
    namespace DataFromArray
    {
        /// <summary>
        ///
        /// </summary>
      public partial class Form1 : Form
      {
     
     
     
        private int[] FArray;
     
        TableObject Table1 = new TableObject();
        Report report = new Report();
          /// <summary>
          ///
          /// </summary>
          /// <returns></returns>
          DataSet  bindDB()
         {
             DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            dt.TableName = "Db";
            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("cnname", typeof(string));
            dt.Columns.Add("bithdate", typeof(DateTime));
            dt.Columns.Add("age", typeof(int));
     
            dt.Rows.Add(1, "geovindu", "2001-12-03",12);
            dt.Rows.Add(2, "sibodu", "2001-12-03",13);
            dt.Rows.Add(3, "ginhongzhao", "2001-12-03",15);
            ds.Tables.Add(dt);
            return ds;
         }
         
     
     
     
         
          /// <summary>
          ///
          /// </summary>
        public Form1()
        {
          InitializeComponent();
          Table1.ManualBuild += new System.EventHandler(Table1_ManualBuild);
          CreateArray();
        }
        /// <summary>
        ///
        /// </summary>
        private void CreateArray()
        {
          FArray = new int[10];
          for (int i = 0; i < 10; i++)
          {
            FArray[i] = i + 1;
          }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCreateNew_Click(object sender, EventArgs e)
        {
          // create report instance
          Report report = new Report();
     
          // register the array
          report.RegisterData(FArray, "Array");
     
          // design the report
          report.Design();
     
          // free resources used by report
          report.Dispose();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRunExisting_Click(object sender, EventArgs e)
        {
          // create report instance
          Report report = new Report();
     
     
     
          string fileurl = @"....
    eport.frx";
          // load the existing report
          report.Load(fileurl);
     
          // register the array
          //report.RegisterData(FArray, "Array");
          report.RegisterData(FArray, "Db");
            
          // run the report
          report.Show();
     
          // free resources used by report
          report.Dispose();
        }
     
        private void Form1_Load(object sender, EventArgs e)
        {
     
        }
        /// <summary>
        ///
        /// 自定义
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
     
                 
                //DataTable dd = bindDB().Tables["Db"];
                report.RegisterData(bindDB().Tables["Db"], "Db");
                report.GetDataSource("Db").Enabled = true;
     
                ReportPage page1 = new ReportPage();
                page1.Name = "page1";
                report.Pages.Add(page1);
     
                page1.ReportTitle = new ReportTitleBand();
                page1.ReportTitle.Name = "ReportTitle1";
                page1.ReportTitle.Height = Units.Centimeters*1.5f;
     
     
                ReportPage page2 = new ReportPage();
                page2.Name = "page2";
                page2.ReportTitle = new ReportTitleBand();
                page2.ReportTitle.Name = "ReportTitle2";
                page2.ReportTitle.Height = Units.Centimeters * 1.5f;
                report.Pages.Add(page2);
     
     
                GroupHeaderBand group1 = new GroupHeaderBand();
                group1.Height = Units.Centimeters * 1;
                group1.Name = "GroupHeader1";
                group1.Condition = "[Db.cnname]"; //表.字段名      
                page1.Bands.Add(group1);
     
                group1.GroupFooter = new GroupFooterBand();
                group1.GroupFooter.Name = "GroupFooter1";
                group1.GroupFooter.Height = Units.Centimeters * 1;
     
                //create databand
                DataBand data1 = new DataBand();
                data1.Name = "Data1";
                data1.Height = Units.Centimeters * 0.5f;
                data1.DataSource = report.GetDataSource("Db");
                group1.Data = data1;
           
                  //
                TextObject txt1 = new TextObject();
                txt1.Name = "txt1";
                txt1.Bounds = new RectangleF(0, 0, Units.Centimeters * 19, Units.Centimeters * 1);
                txt1.HorzAlign = HorzAlign.Center;
                txt1.Font = new Font("宋体", 14, FontStyle.Bold);
                txt1.Text = "DB 数据";
                page1.ReportTitle.Objects.Add(txt1);
     
                 //group
                TextObject txt2 = new TextObject();
                txt2.Name = "txt2";
                txt2.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                txt2.HorzAlign = HorzAlign.Center;
                txt2.Font = new Font("宋体", 8, FontStyle.Bold);//Tahoma
                txt2.Text = "[Db.cnname]";
                group1.Objects.Add(txt2);
     
                //data band
                TextObject txt3 = new TextObject();
                txt3.Name = "txt3";
                txt3.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                txt3.HorzAlign = HorzAlign.Center;
                txt3.Font = new Font("宋体", 8, FontStyle.Bold);
                txt3.Text = "[Db.cnname]";
                data1.Objects.Add(txt3);
                TextObject txt4 = new TextObject();
                txt4.Name = "txt4";
                txt4.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                txt4.HorzAlign = HorzAlign.Center;
                txt4.Font = new Font("宋体", 8, FontStyle.Bold);
                txt4.Text = "[Db.age]";
                group1.GroupFooter.Objects.Add(txt4);
     
     
     
                 
                DataSourceBase masterData = report.GetDataSource("Db");
                masterData.Init();
     
     
                //TableColumn cm = new TableColumn();
                //cm.Name = "";
                //TableColumn column = new TableColumn();
                //column.Name = "column";
                //column.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                //column.Height = Units.Centimeters * 2.5f;         
                //Table1.Columns.Add(column);
     
     
                //TableColumn column2 = new TableColumn();
                //column2.Name = "Cell2";
     
                //column2.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                //column2.Height = Units.Centimeters * 2.5f;
                //Table1.Columns.Add(column2);
     
                //Table1.Border.RightLine = BorderLines.Right;
                Table1.ColumnCount = 2;
                Table1.Border.LeftLine.Color = Color.Black;
     
                Table1.Border.Lines = BorderLines.None;
                Table1.Border.TopLine.Color = Color.Black;
                Table1.Border.TopLine.Width = 1;
     
                Table1.Border.ShadowWidth = 4;
                Table1.Border.RightLine.Style = FastReport.LineStyle.Solid;//
     
                TableCell cell = new TableCell();
                cell.Name = "Cell1";
                cell.Text = "Name";
                cell.Font = new Font("宋体", 8, FontStyle.Bold);
                cell.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                cell.Height = Units.Centimeters * 2.5f;
                Table1.Columns.Add(cell);
     
                TableCell cell2 = new TableCell();
                cell2.Name = "Cell2";
                cell2.Text = "Id";
                cell2.Font = new Font("宋体", 8, FontStyle.Bold);
                cell2.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                cell2.Height = Units.Centimeters * 2.5f;
                Table1.Columns.Add(cell2);
     
                TableCell cell3 = new TableCell();
                cell3.Name = "cell3";
                cell3.Text = "[Db.cnname]";
                cell3.Font = new Font("宋体", 8, FontStyle.Bold);
                cell3.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                cell3.Height = Units.Centimeters * 2.5f;
                Table1.Rows.Add(cell3);
     
                TableCell cell4 = new TableCell();
                cell4.Name = "cell4";
                cell4.Text = "[Db.id]";
                cell4.Font = new Font("宋体", 8, FontStyle.Bold);
                cell4.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                cell4.Height = Units.Centimeters * 2.5f;
                Table1.Rows.Add(cell4);
     
     
     
                //TableRow rw = new TableRow();
     
     
     
                //while (masterData.HasMoreRows)
                //{
                //    TableCell cell = new TableCell();
                //    cell.Name = "Cell1";
                //    cell.Text = "[Db.cnname]";
                //    cell.Font = new Font("宋体", 8, FontStyle.Bold);
                //    cell.Bounds = new RectangleF(0, 0, Units.Centimeters * 2, Units.Centimeters * 1);
                //    cell.Height = Units.Centimeters * 2.5f;
                //    Table1.Rows.Add(cell);
      
                //    masterData.Next();
                //}
     
                //page2.Bands.Add(Table1);
                page2.ChildObjects.Add(Table1);
     
        
     
                report.Show();
     
            }
            catch(Exception ex)
            {
                ex.Message.ToString();
            }
     
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Table1_ManualBuild(object sender, EventArgs e)
        {
     
            DataSourceBase data1 = report.GetDataSource("Db"); // 获取DataSet中表名为Table1的数据源
            data1.Init(); // 初始化
            Table1.PrintRow(0); // 控件Table1打印第0行
            Table1.PrintColumns(); // 每打印一行,都要调用 PrintColumn或PrintColumns
            while (data1.HasMoreRows) // 打印重复循环的行
            {
                Table1.PrintRow(1);
                Table1.PrintColumns();
                data1.Next(); // 读取下一行
            }
        }
    /// <summary>
    ///
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            Report report = new Report();
     
            string sql = "select top 2 * from Employee";
            DataTable dt = null;
     
            dt = DBHelper.GetTable(sql, CommandType.Text, null);
     
            string fileurl = @"....
    eport2.frx";
            // load the existing report
            report.Load(fileurl);
           // report.Design();
            report.RegisterData(dt, "Employee");
     
            // run the report  
            report.Show();
     
            // free resources used by report
            //report.Dispose();
        }
     
      }
    }
    

      

  • 相关阅读:
    梦想还需有,因它必实现——发现最新版iOS漏洞,OverSky团队专访
    细数iOS上的那些安全防护
    互联网业务安全之通用安全风险模型
    TaintDroid剖析之IPC级污点传播
    Android安全开发之通用签名风险
    Angular问题02 创建模块失败、 angular-cli名称问题、升级angular-cli
    Etyma01 ced ceed cess
    Angular19 自定义表单控件
    Angular18 RXJS
    Angular17 Angular自定义指令
  • 原文地址:https://www.cnblogs.com/hilolin/p/9098342.html
Copyright © 2011-2022 走看看