DevExpress報表的數據綁定及打印

Devexpress的報表功能十分強大!支持自動分頁,可以導出爲PDF,WORD,RTF等衆多格式,支持打印預覽!

聲明:此項目使用前需安裝devexpress控件。

近來項目需求,需要做出來一個班級的二維碼打印。以下示例將展示devreport 如何實現類似於Datalist的數據綁定及樣式佈局。效果圖如下:


新建 >DXperience v12.2 Report Class,命名爲ImageReport.cs


將XRPicture和XRlabel拖放至工作區,並排列好!僅使用這些控件即可完成數據的綁定和批量顯示,類似於repeater中的itemtemplete。

右鍵可以彈出帶區的菜單,可以插入頁眉頁尾等。

接下來設置爲多列顯示,

1、右鍵點擊detail區域,選擇“屬性”,根據下圖進行設置



Mode:選擇多列的顯示模式,固定列數或者固定列寬(自動計算每行的列數)

Layout:橫向排列還是豎向排列

點擊右鍵,進入代碼。

   public partial class ImageReprot : DevExpress.XtraReports.UI.XtraReport
    {
        public ImageReprot()
        {
            InitializeComponent();
            BindData();
        }


        /// <summary>
        /// 數據綁定
        /// </summary>
        private void BindData()
        {
            // 綁定名稱
            lbName.DataBindings.Add("Text", DataSource, "Name");


            // 綁定描述
            lbDescription.DataBindings.Add("Text", DataSource, "Description");


            // 綁定圖片(第一個參數爲要綁定的屬性名稱)
            this.xrPictureBox1.DataBindings.Add("ImageUrl", DataSource, "ImagePath");
        }
    }

2、設置顯示打印頁

新建webform頁面 WebForm1.aspx

進入設計頁面,在工具箱中拖放ReportToolbar和ReportViewer,並將ReportToolbar關聯到ReportViewer上。此處需在設計界面,如果在源界面拖放,則不能完成控件的註冊導致設計失敗。


打開後臺代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace DevReportTest
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ImageReprot report=new ImageReprot();
            ReportViewer1.Report = report;
            report.DataSource = Movies.GetMovies(); // 爲報表設置數據列表
        }
    }
}

至此數據綁定完畢,已經達到了demo的目的。下面附上model源碼。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;

namespace DevReportTest
{
    public class Movies
    {
        public static List<MovieModel> GetMovies()
        {
            List<MovieModel> models = new List<MovieModel>();
            models.Add(new MovieModel
            {
                Id = 1,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"
            });
            models.Add(new MovieModel
            {
                Id = 1,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 2,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 3,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 4,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 1,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 1,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 2,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 3,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 4,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            }); models.Add(new MovieModel
            {
                Id = 1,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 1,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 2,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 3,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            models.Add(new MovieModel
            {
                Id = 4,
                Name = "審死官",
                ImagePath = "/1.png",
                Description = "《審死官》,是周星馳1992年的一部香港無厘頭喜劇。主要講述清朝時期官官相護,狀師宋世傑爲有冤情的寡婦楊秀珍翻案的故事。"

            });
            return models;
        }
    }

    /// <summary>
    /// Model
    /// </summary>
    public class MovieModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string ImagePath { get; set; }
    }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章