当前位置:首页 > 软件设计 > 正文

c#打印时调用repx文件,刚刚学会,记录一下

c#打印时调用repx文件,刚刚学会,记录一下

学习使人进步,每天进步一点点,生活变得很充实。对于系统的打印,我一开始也不会,也是在学习过程中一点点的积累下来的,虽然没有那么专业,但是应付工作学习还是可以的。原来的打...

学习使人进步,每天进步一点点,生活变得很充实。

202304231682232826754897.png

对于系统的打印,我一开始也不会,也是在学习过程中一点点的积累下来的,虽然没有那么专业,但是应付工作学习还是可以的。

原来的打印都需要在页面上做设计,偶然的机会看到别人的报表想怎么打怎么打,各种样式,然后就看他的程序,找文件,看哪有控制打印的方法,最后发现.repx文件能自定义设置

然后又找设计repx文件的程序,也找到了叫下面的这个,虽然会的不多,但是简单的设计还是会的。

image.png

然后就是怎么调用了。。。

调用的时候也犯了愁,在vs里设计能直接在这里绑定,可是这个repx文件点这个还直接卡死,干也干不了。。。所以也搁置了一些时间。

image.png

前几天又想实现打印,又搜了搜,发现xml文件也可以做连接,于是乎就学会了如何自定义打印样式,我的这个也比较简单,所以实现起来比较容易。

image.png

将文件选中后会自动识别到路径,这里还有个问题的,我本来想放在程序根目录下,可惜路径不会弄,设置了也没有被改变,所以索性就放到C盘位置了,因为C盘每个电脑都会有

然后就是给每个文本一个参数就行了,就变成下面这样

image.png

下面放代码。

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();

        }

然后点击按钮的样式就是这个样子

image.png

发表评论

最新文章

取消
扫码支持 支付码