前言:本人萌新,WinCC和C#的编写能力几乎为0,因此虽然做出来的成品看似简单,但也耗费了我不少时间。在网上查阅资料的时候,有关WinCC插入锐浪报表的资料少的可怜。这也是我写这篇文章的初衷,希望可以帮助和我一样毫无基础可言的人。
使用软件:Visual Studio 2022;WinCC V7.5 SP2;锐浪Grid++Report6;Microsoft SQL Server Management Studio 18
一、查看WinCC数据库
注:这里没有任何编程和改动,只是带领读者了解一下SQL数据库的基础信息。
1.打开Microsoft SQL Server Management Studio 18
注意这里的服务器名称为DESKTOP-4JJUVVA\WINCC,后面会用(每个人的服务器名称都会有所不同,以自己电脑的服务器名称为准)
2.选择与WinCC项目对应的数据库
我的WinCC项目名称是test1,所以对应数据库GCS_test1和CC_test1_22_06_21_14_54_33R,两者区别不是本文重点,不在这里赘述。此处以GCS_test1为例,选择dbo.Information,在右边一栏会显示内容。
那么为什么会有dbo.Information呢?因为在WinCC项目对应文件夹路径test1\GraCS\Data下我建了一个csv格式的表格,名为Information2052(此处2052在WinCC里代表中文,所以在数据库里不显示2052)。我们打开这个表格,可以发现里面的内容和SQL数据库里一致。当我们运行WinCC,初始化数据库后,该表格的信息才会同步到数据库中。
二、生成锐浪模板
1.打开Grid++Report 报表设计器
(1)新建向导→主标题副标题设置(我这里不设,直接点击下一页)
(2)创建数据库连接串→选择红框中的驱动点击下一步
(3)填写服务器名称,数据库名称,测试连接,成功后点击确定,完成向导创建。
(4)系统自动生成数据库连接串→填写查询SQL(select * from Information)→疯狂点下一页,然后完成。
因为刚刚带大家看了dbo.Information,我们这里就查询Information下面的数据。
我们保存一下,命个名,这一步就完成了。
三、使用VS 2022生成.net控件
1.创建C# Windows窗体控件库
注意这里框架要选.NET Framework 4,我也忘了调试过程中遇到什么问题了,最后发现就是需要.NET 4的框架。VS 2022是没有.NET Framework 4的,大家自己在网上下载即可。VS2022 安装 .NET Framework 4.0 和 .NET Framework 4.5 的方法_小歆Pro的博客-CSDN博客
2.添加引用-锐浪的COM
3.放2个按钮,Name分别为button1和button2,Text分别为打印预览和打印。
4.双击任意一个按钮,可以进入C#编辑器界面。接下来就写代码了。
以下为全部代码内容:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using gregn6Lib;
namespace Report
{
public partial class UserControl1 : UserControl
{
//定义Grid++Report报表主对象
private GridppReport Report = new GridppReport();
public UserControl1()
{
InitializeComponent();
Report.LoadFromFile(@"C:\Users\Administrator\Desktop\11.grf");
//第二步中生成的锐浪模板,我命名为11.grf,并且放在了桌面上。大家根据实际情况填写。
Report.DetailGrid.Recordset.ConnectionString = @"Provider=SQLOLEDB.1;Initial Catalog=GCS_test1;Data Source=DESKTOP-4JJUVVA\WINCC;Integrated Security=SSPI;Persist Security Info=False";
//第二步中新建向导时,系统自动生成的数据库链接串,我删除了部分不重要的。
}
[STAThread]
private void button1_Click(object sender, EventArgs e)
{
Report.PrintPreview(true);
}
private void button2_Click(object sender, EventArgs e)
{
Report.Print(true);
}
}
}
5.右击Report,选择属性;应用程序→程序集信息→使程序集信息可见
6.生成→为COM互操作注册
7.选择Release→Any CPU→启动,启动一下看看能不能实现基本的打印预览和打印功能
8.确认调试无误后,打开Release文件夹,看看里面是不是有三个文件。如下图所示是正确的。
9.右击解决方案→添加→新建项目 ,选择Setup Project(没有的话需要下载,具体网上可以找到)
10.右击Application Folder→Add→文件,选择Report.dll
11.右击setup→生成
12.在setup程序的Release文件夹中找到exe程序,双击点开
13.至此,控件注册完成
四、在WinCC中引用.net控件
1.右击.net控件→添加/删除,单击“添加”按钮,打开Report.dll,选择Usercontrol1
2.拖拽该.net控件到画面中,放大一下,和我们在VS 2022中设计的界面一模一样
3.我们启动一下WinCC,看看该控件是否运行正常
文章来源:https://www.toymoban.com/news/detail-488279.html
4.OK,没问题!大功告成!文章来源地址https://www.toymoban.com/news/detail-488279.html
到了这里,关于Wincc使用.net控件将锐浪报表Grid++Report6嵌入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!