首页 > 其他分享 >Grid++Report 组件使用最简代码

Grid++Report 组件使用最简代码

时间:2024-08-17 08:55:32浏览次数:10  
标签:最简 ++ GridppReport var Grid Report anonymousEntity Now

在‘添加引用’窗口中选择‘COM’选项卡,在列表中双击‘Grid++Report Engine 6.0 Type Library’项


使用设计器设计一个模板 ,加入 vs2022 项目   设置为 文件新则拷贝

image

因为是打印标签 ,数据有限,所以模板使用参数传递数据,纸型按实际标签的长宽设置

image


c# 调用模板的代码如下

private void 打印()
{
     var anonymousEntity = new
     {
         条码 = "232500476910-0002",
         反应时间 = DateTime.Now,
         出料重量 = 2000,
         开罐时间 = DateTime.Now,
         测试时间 = DateTime.Now,
         粘度值 = 1800
     };
     GridppReport Report = new GridppReport();
     Report.LoadFromFile(Environment.CurrentDirectory + "\\PI.grf");
     报表压入参数(anonymousEntity, Report);
     Report.Print(false);
}



private void 报表压入参数(object anonymousEntity, GridppReport Report)
{
     Type type = anonymousEntity.GetType();
     var properties = type.GetProperties();
     foreach (var property in properties)
     {
         Report.ParameterByName($"{property.Name}").Value = Convert.ToString(property.GetValue(anonymousEntity));
     }
}

标签:最简,++,GridppReport,var,Grid,Report,anonymousEntity,Now
From: https://www.cnblogs.com/hlm750908/p/18364009

相关文章

  • C++编程:内存栅栏(Memory Barrier)详解及在多线程编程中的应用
    文章目录0.引言1.什么是内存栅栏?2.为什么需要内存栅栏?本质原因是什么?2.1编译器优化2.2CPU乱序执行3.ARM64和x86架构下的内存栅栏差异3.1x86架构3.2ARM64架构4.代码示例4.1代码解析4.2memory_order_release和memory_order_acquire解释4.3为什么是“releas......
  • 杭电基础100题(2000~2099)C++ 本萌新的刷题日记
    开始之前本人是刚学完C++基础语法的萌新,从B站了解到了杭电的100道水题基础题,于是打算开始刷题并在这里写下解题思路和一些想法,以便日后回顾,顺便分享给大家。我的计划是一天15题。这是我第一次在CSDN上发文章,还不是很熟悉怎么编辑。基本上每一题都会把代码和感想放这里。200......
  • 了解一下宏定义#define吧c++
    在C++中,宏定义是通过 #define 指令实现的,它用于创建符号常量或宏函数。这是一种预处理指令,意味着它在编译之前被处理。下面是宏定义的用法、理解和重点。宏的基本语法定义常量:#definePI3.14159这里,PI 是一个常量,它的值是 3.14159。在代码中每次使用 PI 时,编译器......
  • 二叉树的递归与非递归遍历:C++实现
    在数据结构的学习中,二叉树是一个非常重要的概念。遍历二叉树是理解和操作二叉树的基础。本文将介绍如何使用C++实现二叉树的递归和非递归遍历,包括前序、中序和后序遍历,并对每种遍历方法的原理进行简要介绍。二叉树节点定义首先,我们定义一个简单的二叉树节点结构:structTreeN......
  • 【CPP】C++模板:初阶到进阶语法与实用编程示例
    关于我:睡觉待开机:个人主页个人专栏:《优选算法》《C语言》《CPP》生活的理想,就是为了理想的生活!作者留言PDF版免费提供:倘若有需要,想拿我写的博客进行学习和交流,可以私信我将免费提供PDF版。留下你的建议:倘若你发现本文中的内容和配图有任何错误或改进建......
  • C++ 小节3
    1、析构函数相关1.析构函数:函数名与类名相同,前面有~,没有返回值,不能写void,没有参数;只能有一个,不能重载2.析构函数的作用:主要在对象销毁时释放申请的堆内存,关闭文件,关闭网络连接,关闭数据库连接等;3.析构函数的执行:(不显式调用,自动执行)1)作用域到了时自动执行析构函数......
  • C/C++内存管理
    文章目录前言C/C++内存分布C语言内存管理malloccallocreallocreallocarrayfreeC++内存管理new/delete内置类型自定义类型operatornew/operatordelete定位new内存泄漏前言        C++的内存管理是程序设计中的一个关键部分,涉及到内存的分配、使用和释......
  • 数据结构(C++版)——顺序表
    一、顺序表有关的基本操作1、InitList(&L):初始化线性表,构造一个空的线性表L2、DestroyList(&L):销毁线性表L3、ClearList(&L):将线性表L重置为空表4、ListEmpty(L):若L为空表,则返回TURE,否则返回FALSE5、GetElem(L,i,&e):用e返回L中第i个数据元素的值6、LocateElem(L,e):在线性......
  • C++八股文——内存管理(堆和栈的区别? C++内存分区? 内存泄漏?如何避免?什么是智能指针?有哪
    文章目录C++内存管理堆和栈的区别C++内存分区内存泄漏?如何避免?1、什么是内存泄露?2、内存泄漏的分类3、什么操作会导致内存泄露?4、如何防⽌内存泄露?5、智能指针有了解哪些?6、构造函数,析构函数要设为虚函数吗,为什么?什么是智能指针?有哪些种类?new和malloc有什么区别?d......
  • C++智能指针讨论
    一段有问题的代码。#include<iostream>intmain(){for(inti=0;i<10000000;i++){double*p=newdouble(1);}return0;}这里就有了内存泄漏。修改为下边的代码,是可以的,但是会比较占用CPU资源。#include<iostream>intmain()......