怎么用DevExpress Report控件实现pdf打印
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇内容主要讲解"怎么用DevExpress Report控件实现pdf打印",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用DevExpress Re
千家信息网最后更新 2025年01月23日怎么用DevExpress Report控件实现pdf打印
本篇内容主要讲解"怎么用DevExpress Report控件实现pdf打印",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么用DevExpress Report控件实现pdf打印"吧!
按钮弹出(获取当前页面选中的BatchID,通过构造函数传参传入子窗口并打开窗口):
frmQCMTranInspBatchList.cs(父窗口)
private void btnInspBatchPrint_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { try { GlobalVariable.gaSelectPOID.Clear(); int[] iaPOs = gdvDetail.GetSelectedRows(); if (iaPOs.Length < 1) { CommonFunction.ShowMsgBox("请选择一条或多条参数");//ToDo: Multi-Language return; } int[] iaRAWID = new int[iaPOs.Length];//+2 string sBatchID = ""; for (int i = 0; i < iaPOs.Length; i++) { sBatchID = gdvDetail.GetRowCellValue(iaPOs[i], "BATCH_ID").ToString(); } //saPARA_ID[iaPOs.Length] = cboModelVer.EditValue.ToString(); //saPARA_ID[iaPOs.Length + 1] = "EVENT"; rptQCMInspBatchCard InspBatchCard = new rptQCMInspBatchCard(sBatchID); DevExpress.XtraReports.UI.ReportPrintTool printTool = new DevExpress.XtraReports.UI.ReportPrintTool(InspBatchCard); printTool.ShowPreviewDialog(); } catch (Exception ex) { CommonFunction.ShowMsgBox("frmAPSReleaseWO.btnSelect_Click()\n" + ex.Message); } }
子窗口获取参数,并根据该参数执行SQL语句查询需要的数据,再将查到的数据放入Report中(条形码赋值即可自动生成)
rptQCMInspBatchCard.cs(子窗口):
using System;using System.Drawing;using System.Collections;using System.ComponentModel;using DevExpress.XtraReports.UI;using System.Data;using TRSCore;using System.Text;using MESCore;namespace QCMCore.Reports{ public partial class rptQCMInspBatchCard : DevExpress.XtraReports.UI.XtraReport { public rptQCMInspBatchCard(string sBatchId) { InitializeComponent(); this.sBatchID = sBatchId; } #region Variable private string sBatchID; #endregion #region Function private bool FillHeader() { try { DataTable dtOrd = new DataTable(); dtOrd.Columns.Add("BATCH_ID"); dtOrd.Columns.Add("LOT_ID"); dtOrd.Columns.Add("START_RES_ID"); dtOrd.Columns.Add("MAT_ID"); TRSNode in_node = new TRSNode("Sql_In"); TRSNode out_node = new TRSNode("Sql_Out"); StringBuilder sb = new StringBuilder(); CommonRoutine.SetInMsg(in_node); string sFactory =in_node.Factory; in_node.ProcStep = '1'; in_node.AddInt("NEXT_ROW", 0); sb.Append("SELECT A.BATCH_ID, A.LOT_ID, A.START_RES_ID, A.MAT_ID FROM WIPLOTSTS A INNER JOIN QCMITEMINSP B ON A.LOT_ID = B.ITEM_ID WHERE A.FACTORY =B.FACTORY "); sb.Append(" AND B.FACTORY= '"+sFactory+"' AND B.BATCH_ID='" + sBatchID+"' "); in_node.SetString("SQL", sb.ToString()); do { if (CommonRoutine.CallService("BAS", "BAS_SQL_Query", in_node, ref out_node) == false) { return false; } CommonRoutine.ConvertToDataTable(dtOrd, out_node); in_node.SetInt("NEXT_ROW", out_node.GetInt("NEXT_ROW")); } while (in_node.GetInt("NEXT_ROW") > 0); if (dtOrd.Rows.Count > 0) { this.xrBarCode1.Text = dtOrd.Rows[0]["BATCH_ID"].ToString(); this.xrtBatchID.Text = dtOrd.Rows[0]["BATCH_ID"].ToString(); this.xrtLotID.Text = dtOrd.Rows[0]["LOT_ID"].ToString(); this.xrtStartResID.Text = dtOrd.Rows[0]["START_RES_ID"].ToString(); this.xrtMatID.Text = dtOrd.Rows[0]["MAT_ID"].ToString(); } return true; } catch (Exception ex) { CommonFunction.ShowMsgBox(ex.Message); return false; } } #endregion #region Control Event #endregion private void BottomMargin_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) { FillHeader(); } }}
到此,相信大家对"怎么用DevExpress Report控件实现pdf打印"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
控件
参数
内容
数据
学习
查询
实用
更深
兴趣
函数
多条
实用性
实际
按钮
操作简单
方法
更多
朋友
条形
条形码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳恋上互联网网络科技公司
方舟手游怎样自己创造一个服务器
美国网络安全认证证书
软件开发法律可行性
社保卡显示在数据库重复
沈河区服务好的软件开发哪家强
软件开发师转行
未央区网络安全巡视
数据库只查询年份
河北省网络安全学会
dat数据库文件打开
赣州软件开发有哪些学校
软件开发学历好找工作吗
重启服务器后网卡不通
招聘软件开发话术
sql数据库交叉
数据库安全性课设指导书
高级数据库图书管理系统
数据库概论基础知识怎么写
csv当作数据库
校园中的网络安全
软件开发项目实施原则
嘉兴智能软件开发培训
方舟手游官方服务器怎么刷琥珀
网络安全实验室 解题
msql数据库名字可以用中文吗
搭建pptp服务器翻墙
魔兽世界9.1服务器人口
太原服务器维修
钱被盗了能通过服务器找到吗