DataGridView常见用法和FAQ汇总

简介:

 前段时间在项目中用到了WinForm,其中最复杂的控件当属DataGridView了,特别喜欢它那高度的可配置性(提供了大量的属性,方法和事件)、丰富的内置列类型,而且易于扩展,对性能问题也提供了良好的解决方案。

    不过最初看着它那数以百计的方法、属性、事件,感到一阵眩晕,不知如何下手。幸运地是,很快我就找到了一个网站,windowsforms.net,这也是WinForm的官方站点,这里有不少相关的文章,FAQ,以及不错的论坛,这个论坛里,你的问题很可能会是微软的开发人员为你回答的,那些回答也很到位。

    在其中找到了关于DGV的FAQ,更好的是他们提供了DGV的文档和示例。该文档共有六章和一个附录,详细的解释了DGV的结构,内置列/单元格类型,数据操作,主要特性和最佳实践,最后提供了二十余个FAQ问题。我就是根据该文档,一步步逐渐了解DGV的。实际上,该文档的很多内容来自MSDN,而且限于篇幅,有很多地方也不如MSDN详细,所以最好是用本文档作纲要,结合MSDN来学习。

    也许,对于很多开发人员来说,最有用的是FAQ部分,因为开发过程中,可能没有很多时间去全面了解DGV,而只是需要它的一个特定功能,这时建议先看看FAQ部分有没有你想要的答案;如果要全面了解DGV,建议按照该文档的组织结构,去逐步了解它。

    现在网上全面介绍DGV的地方好像不太多,尤其是中文开发社区,大都是介绍DGV的某种特性或用法,所以我想把这个文档翻译一下。翻译过程中,感觉还是比较困难,虽然自己会时常看一些英文文章,但看懂和表达出来还是有很大不同,导致翻译进度也比较慢,所以只翻译了其中的四章和FAQ部分,剩下的两章有时间再补充吧。

    另外,我也尝试了文档中的绝大部分代码,并且用菜单项来表示文档的章节结构,这样在看某一章时,可以很快找到相关的演示代码。我把这些也一块拿出来,大部分都是些很简单的代码,很容易看懂。文档中用到的数据库是Northwind,在运行程序前,请先将Settings.settings中的连接字符串配置正确。

    下面是FAQ的主要内容:

     1 、如何使指定的单元格不可编辑 ?
    
2 、如何让一个单元格不可用 ?
    
3 、如何避免用户将焦点设置到指定的单元格?
    
4 、如何使所有单元格总是显示编辑控件 ?
    
5 、如何在单元格内同时显示图标和文本?
    
6 、如何隐藏一列?
    
7 、如何避免用户对列排序?
    
8 、如何针对多个列排序 ?
    
9 、如何为编辑控件添加事件处理函数 ?
    
10 、应在何时移除编辑控件的事件处理函数 ?
    
11 、如何处理ComboBox列中ComboBox控件的SelectIndexChanged事件?
    
12 、如何通过拖放调整行的顺序?
    
13 、如何调整最后一列的宽度使其占据网格的剩余客户区?
    
14 、如何让TextBox类型的单元格支持换行 ?
    
15 、如何使Image列不显示任何图像(字段值为null时) ?
    
16 、如何能够在ComboBox类型的单元格中输入数据?
    
17 、如何在用户编辑控件的时候(而不是在验证时)就显示错误图标 ?
    
18 、如何同时显示绑定数据和非绑定数据?
    
19 、如何显示主从表?
    
20 、如何在同一DataGridView中显示主从表?
    
21 、如何避免用户对列排序 ?
    
22 、如何在点击工具栏按钮的时候将数据提交到数据库?
    
23 、如何在用户删除记录时显示确认对话框?

    如果在这个网站和MSDN都没有找到想要的东西,可以去codeproject看看,那里也有一些关于DGV的文章。

    下面是相关下载内容:
    微软的文档和示例以及我翻译的部分文档和演示代码    
    微软的文档和示例原始下载


本文转自一个程序员的自省博客园博客,原文链接:http://www.cnblogs.com/anderslly/archive/2006/12/07/dgvsummary.html,如需转载请自行联系原作者。

目录
相关文章
|
JSON 自然语言处理 编译器
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
前言包大小是衡量APP性能的一项重要指标,它直接影响用户的下载点击率(包太大不想下)、下载安装成功率(下载慢不用了)、APP卸载率(太占空间先删掉)。包大小的计算逻辑很简单,它是各种类型的文件占用磁盘大小相加。APP瘦身的技术却很复杂,代码文件的复杂度和编译器策略决定了可执行文件的大小,业务功能和工程架构决定了代码文件的复杂度。iOS APP瘦身,需要掌握的技能有XCode构建技术、LLVM编译器
4498 0
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
|
SQL 存储 关系型数据库
解析MySQL Binlog:从零开始的入门指南【binlog入门指南】
解析MySQL Binlog:从零开始的入门指南【binlog入门指南】
13467 0
|
6月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 3 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
9月前
|
人工智能 资源调度 数据可视化
StoryWeaver:故事可视化生成模型,快速生成故事绘本,支持处理单角色和多角色的故事可视化任务
StoryWeaver 是厦门大学与网易伏羲联合推出的 AI 模型,通过知识图谱和角色定制技术,实现高质量的故事可视化。
515 18
StoryWeaver:故事可视化生成模型,快速生成故事绘本,支持处理单角色和多角色的故事可视化任务
|
监控 数据可视化 搜索推荐
ERP系统中的财务预测与预算编制解析
【7月更文挑战第25天】 ERP系统中的财务预测与预算编制解析
516 0
|
移动开发 JavaScript 前端开发
HTML5 Web Workers详解
HTML5 Web Workers 允许在后台线程中运行 JavaScript,实现复杂计算而不影响用户界面,提升应用性能。其主要特性包括并行处理、异步通信、独立作用域及多数据类型支持。通过创建和使用 Worker 文件,如 `worker.js`,可执行后台任务,并与主线程通过消息传递机制通信。适用于数据处理、图像处理、复杂计算及网络请求并行等场景。需要注意的是,Web Workers 在浏览器兼容性、安全性限制、调试及资源消耗方面需特别关注。合理利用 Web Workers 可显著增强 Web 应用的流畅度和响应速度。
|
负载均衡 算法 容灾
slb基础概念
【9月更文挑战第2天】
3813 25
|
11月前
|
存储 SQL 关系型数据库
MySQL创建表
如何使用MySQL CREATE TABLE语句在数据库中创建新表。
295 0
|
关系型数据库 MySQL Linux
Linux下查看软件安装与安装路径
Linux下查看软件安装与安装路径
1571 0
|
数据采集 存储 人工智能
cdga|数据治理:应对核心业务数据质量参差不齐的挑战与策略
数据治理是指通过制定并实施一系列政策、流程和技术手段,确保数据的可用性、完整性、准确性和安全性,以支持企业的决策和业务运营。对于核心业务数据质量参差不齐的问题,数据治理的重要性不言而喻