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




评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值