c#打印时调用repx文件,刚刚学会,记录一下
- 软件设计
- 2023-04-23
- 3340
学习使人进步,每天进步一点点,生活变得很充实。对于系统的打印,我一开始也不会,也是在学习过程中一点点的积累下来的,虽然没有那么专业,但是应付工作学习还是可以的。原来的打...
学习使人进步,每天进步一点点,生活变得很充实。
对于系统的打印,我一开始也不会,也是在学习过程中一点点的积累下来的,虽然没有那么专业,但是应付工作学习还是可以的。
原来的打印都需要在页面上做设计,偶然的机会看到别人的报表想怎么打怎么打,各种样式,然后就看他的程序,找文件,看哪有控制打印的方法,最后发现.repx文件能自定义设置
然后又找设计repx文件的程序,也找到了叫下面的这个,虽然会的不多,但是简单的设计还是会的。
然后就是怎么调用了。。。
调用的时候也犯了愁,在vs里设计能直接在这里绑定,可是这个repx文件点这个还直接卡死,干也干不了。。。所以也搁置了一些时间。
前几天又想实现打印,又搜了搜,发现xml文件也可以做连接,于是乎就学会了如何自定义打印样式,我的这个也比较简单,所以实现起来比较容易。
将文件选中后会自动识别到路径,这里还有个问题的,我本来想放在程序根目录下,可惜路径不会弄,设置了也没有被改变,所以索性就放到C盘位置了,因为C盘每个电脑都会有
然后就是给每个文本一个参数就行了,就变成下面这样
下面放代码。
private void simpleButton1_Click(object sender, EventArgs e)
{
string directoryPath = Path.Combine(@"C:\", "report");
string filePath = Path.Combine(directoryPath, "Template.xml");
// 若 Data 目录不存在则创建
if (!Directory.Exists(directoryPath))
Directory.CreateDirectory(directoryPath);
XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "GB2312", null);
doc.AppendChild(dec);
//创建根节点 ROOT
XmlElement root = doc.CreateElement("root");
doc.AppendChild(root);
//创建日期节点
XmlElement date1 = doc.CreateElement("date1");
date1.InnerText = dateEdit1.Text;
root.AppendChild(date1);
//创建文本节点
XmlElement label1 = doc.CreateElement("label1");
label1.InnerText = textBox1.Text;
root.AppendChild(label1);
XmlElement label2 = doc.CreateElement("label2");
label2.InnerText = textBox2.Text;
root.AppendChild(label2);
XmlElement label3 = doc.CreateElement("label3");
label3.InnerText = textBox3.Text;
root.AppendChild(label3);
doc.Save(filePath);
//创建完毕xml完毕,然后调用repx了
string FileSaveFilePath = "这里换成.repx文件的路径";
XtraReport empReport = new XtraReport();
if (File.Exists(@".\report\" + FileSaveFilePath))
{
empReport.LoadLayout(@".\report\"+FileSaveFilePath);
}
else
{
MessageBox.Show("文件不存在");
return;
}
empReport.CreateDocument();
empReport.PrintingSystem.ShowMarginsWarning = false;//去掉提示
ReportPrintTool tool = new ReportPrintTool(empReport);
tool.ShowPreview();
}
然后点击按钮的样式就是这个样子
本文链接:http://zxmcloud.com/?id=73
发表评论