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