如何在 C# 中打印 DataGridView 中的数据?

2023-11-23

我正在开发一个程序,我需要打印 DataGridView 控件中显示的账单数据。
我想知道如何打印DataGridView中的数据的代码。

我正在使用 Visual Studio 2008 和 C# 3.5


没有内置任何打印支持DataGridView,所以你必须自己实现这个。有几种可能的解决方案:

  1. 窗体does提供标准打印系统,您可以利用它打印出您的内容DataGridView控制。你会想要使用PrintDocument类,所以相关的文档是开始阅读的好地方。这种方法的优点是可以让您完全控制打印文档的格式和布局。

  2. 您可以从您的DataGridView到 Microsoft Excel,然后从那里打印。 Excel 具有更强大的内置打印支持。

  3. 如果您对推出自己的解决方案不感兴趣,您可以浏览代码项目对于一些已经设计的解决方案。例如:

    • DataGridView 打印机类
    • 在 DotNet 框架上打印 DataGridView
    • 另一个 DataGridView 打印机
    • 通过选择列和行进行 DataGridView 打印

    即使您没有找到适合您确切需求的嵌入式解决方案,您也可以通过使用已发布的代码作为示例来很好地了解如何自己创建此功能。

  4. 如果您想要一个真正的 hacky 解决方案(并且您没有任何愿望或需要自定义打印输出的布局或设计),您可以使用DrawToBitmap每个控件公开的方法。这是一种非常快速和肮脏的方法,可以绘制出精确的图像DataGridView控制,因为它出现在屏幕上Bitmap,然后您可以将其直接传递到打印机。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 C# 中打印 DataGridView 中的数据? 的相关文章

  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • HttpClient 像浏览器一样请求

    当我通过 HttpClient 类调用网站 www livescore com 时 我总是收到错误 500 可能服务器阻止了来自 HttpClient 的请求 1 还有其他方法可以从网页获取html吗 2 如何设置标题来获取html内容 当
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • *.tlb 文件在运行时使用过吗?

    我正在开发一个通过 COM 互操作公开一些 NET API 的产品 作为构建的一部分 我们为所有此类程序集生成 tlb 文件 并将它们作为单独 SDK 包的一部分提供 我们的客户可以在我们的产品之上安装 SDK 并创建使用我们的 COM A
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • 方法参数内的变量赋值

    我刚刚发现 通过发现错误 你可以这样做 string s 3 int i int TryParse s hello out i returns false 使用赋值的返回值是否合法 Obviously i is but is this th
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co

随机推荐

  • spring data JPA如何决定调用entityManager.persist(…)或entityManager.merge(…)方法

    当entityManager persist 方法被调用时以及当entityManager merge 在spring data jpa中被调用时 根据文档 如果实体尚未持久化 Spring Data JPA将通过调用entityManag
  • 实体框架(首先是数据库)存储过程的返回结果不正确[重复]

    这个问题在这里已经有答案了 环境 视觉工作室 2017 SQL Server 2016 采用数据库优先方法的 EF v6 背景 存储过程位于EDMX中 如果没有发生任何事情 我的存储过程将返回值设置为 0 如果有任何影响 则将返回值设置为
  • 当使用“L'Ecuyer-CMRG”RNG 时,R 不会重置种子?

    我在 R 中做了一些并行模拟 我注意到种子 使用 L Ecuyer CMRG rng 时不会更改 我正在读书 Parallel R 一书 选项 mc set seed TRUE 应该给出 每次调用 mclapply 时 每个工作人员都会获得
  • 无法解码下载的字体

    这是我在 Chrome 中遇到的错误 不幸的是搜索它并没有给我太多结果 字体本身显示正确 但是我仍然收到此错误 警告 更具体地说 这是完整的警告 无法解码下载的字体 http localhost 8000 app fonts Lato 我的
  • Excel VBA 列出键绑定(OnKey ?)

    我正在使用大量 Excel vba 脚本 其中一些脚本绑定到 Ctrl 键组合 我知道如何在 Excel 的用户界面中一次设置一个 拉出 vba 脚本列表 Alt F8 选择一个脚本 然后单击 选项 然后您可以将脚本绑定 取消绑定到 Ctr
  • 如何在 MVC 5 中搭建视图模型

    我正在尝试开发一个简单的应用程序 我通过实体框架引入了三个 SQL 表 并自动创建了模型 我希望能够在 Visual Studio 中自动构建创建 详细信息 编辑等视图 当我从单个模型 例如单独的名称 搭建支架时 我可以自动执行此操作 但在
  • Solr 中的词频

    我正在尝试使用 solr 获取单词的频率 当我给出这个查询时 localSolr solr select q someQuery rows 0 facet true facet field content wt xml solr 给我类似的
  • Javascript:如何使用 Promise 迭代数组?

    LIVE DEMO 给定以下函数 function isGood number var defer q defer timeout function if
  • Python - 何时使用文件与打开

    有什么区别file and open在Python中 我什么时候应该使用哪一个 假设我在2 5 你应该总是使用open As the 文档 states 打开文件时 最好 使用 open 而不是调用它 直接构造函数 文件较多 适合型式测试
  • 如何在 web.sitemap 中实现本地化

    您能解释一下如何在 web sitemap 中实现本地化吗 如果你有全球资源 你可以这样使用它
  • 使用 rpart.plot 功能绘制 ctree

    一直在尝试使用rpart plot包来绘制ctree来自partykit图书馆 原因是当树很深时 默认的绘图方法很糟糕 就我而言 我的max depth 5 我真的很喜欢rpart plot的输出 因为它允许更深的树在视觉上更好地显示 输出
  • 使用正则表达式 LtKit 在地图视图上绘制路线时出错

    在我的 iPhone 项目之一中 我使用 RegexLiteKit 在地图视图中绘制路线 编译时显示以下失败 Undefined symbols for architecture i386 uregex start referenced f
  • 在 OS X Mavericks 上安装 Calabash-Android 会导致错误

    我需要一些帮助来尝试安装 Calabash Android 安装 rvm home brew 后 当我安装 Calabash 时 出现一个奇怪的错误 sudo gem install calabash android Building na
  • 如何清除要垃圾收集的对象(HashMap) - Java

    所以我这里有一个java程序 它操作大量数据并将其存储到对象中 主要是哈希映射 在运行时的某个时刻 数据变得无用 我需要丢弃 以便释放一些内存 我的问题是丢弃这些要进行垃圾收集的数据的最佳行为是什么 我已经尝试过map clear 但这不足
  • 如何在 Meteor 中使用 jQuery UI?

    在 Meteor 应用程序中安装 jQuery UI 的正确方法是什么 由于它还不是一个包 我将下载中的 jquery ui min js 和 jquery 1 8 3 js 添加到lib我的流星项目中的文件夹 这导致了以下致命错误 You
  • 配置在 linux-64 上为 linux-64 构建 MinGW-64 的选项(最终针对 windows-64)

    我想在其中构建 MinGW w64 A 我想在Linux 64位 上编译MinGW本身 B 我希望 MinGW 工具 编译器等 在 Linux 64 位 上运行 C 我希望 MinGW 工具 编译器等 生成在 Windows 64 位 Wi
  • Rails 4.1 无法通过 capistrano 3 部署

    使用 capistrano 部署 Rails 应用程序时 我遇到了非常奇怪的错误 有时部署 有时不部署 例如 我向 css 添加一些内容 仅一个字符串 例如 my some class width 10px 之后部署失败 在我添加这个之前
  • VLCKit 与 SwiftUI

    我想用VLCKit with SwiftUI 为什么不是AVPlayer 因为某些视频格式不受支持 这是我的代码 import SwiftUI import UIKit struct ContentView View var body so
  • 为什么地理定位在移动浏览器上不起作用?

    我正在尝试使用 HTML5 获取用户的位置geolocation 在桌面上它运行良好 但在我的所有移动设备 三星 Note 三星 Galaxy S4 和 Iphone 6 上它无法运行并且不显示error object 这是我的代码 fun
  • 如何在 C# 中打印 DataGridView 中的数据?

    我正在开发一个程序 我需要打印 DataGridView 控件中显示的账单数据 我想知道如何打印DataGridView中的数据的代码 我正在使用 Visual Studio 2008 和 C 3 5 没有内置任何打印支持DataGridV