C# winform窗体DataGridView详解

  • DataGridView控件概述
  • 在DataGridView控件中显示数据
  • 获取DataGridView控件中的当前单元格
  • 直接在DataGridView控件中修改数据
  • 当选中DataGridView控件中的行时显示不同的颜色
  • 禁止在DataGridView控件中添加和删除行
  • 使用Columns和Rows属性添加数据

DataGridView控件概述

DataGridView控件提供一种强大而灵活的以表格形式显示数据的方式。可以使用DataGridView控件来显示少量数据的只读视图,也可以对其进行缩放以显示特大数据集的可编辑视图。使用DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据。将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可。DataGridView控件具有极高的可配置性和可扩展性,它提供了大量的属性、方法和事件,可以用来对该控件的外观和行为进行自定义。当需要在Windows窗体应用程序中显示表格数据时,首先考虑使用DataGridView控件。若要以小型网格显示只读值或者使用户能够编辑具有数百万条记录的表,DataGridView控件将提供可以方便地进行编程以及有效地利用内存的解决方案。

在DataGridView控件中显示数据

通过DataGridView控件显示数据表中的数据,首先需要使用DataAdapter对象查询指定的数据,然后通过该对象的Fill方法填充DataSet(关于DataAdapter对象以及Fill方法可参见第15章的内容),最后设置DataGridView控件的DataSource属性为DataSet的表格数据。DataSource属性用于获取或设置DataGridView控件所显示数据的数据源。
语法:
public Object DataSource { get; set; }
属性值:包含DataGridView控件要显示的数据的对象。

获取DataGridView控件中的当前单元格

若要与DataGridView进行交互,通常要求通过编程方式发现哪个单元格处于活动状态。如果需要更改当前单元格,可通过DataGridView控件的CurrentCell属性来获取当前单元格信息。
CurrentCell属性用于获取当前处于活动状态的单元格。
语法:
public DataGridViewCell CurrentCell { get; set; }
属性值:表示当前单元格的DataGridViewCell,如果没有当前单元格,则为空引用。默认值是第一列中的第一个单元格,如果控件中没有单元格,则为空引用。

直接在DataGridView控件中修改数据

在DataGridView控件中修改数据,主要用到DataTable的ImportRow方法和DataAdapter对象的Update方法。实现的过程是通过DataTable的ImportRow方法将更改后的数据复制到一个DataTable中,然后通过DataAdapter对象的Update方法,将DataTable中的数据更新到数据库中。
ImportRow方法用于将DataRow复制到DataTable中,保留任何属性设置以及初始值和当前值。
语法:
public void ImportRow (DataRow row)
row:要导入的DataRow。
DataAdapter对象的Update方法在第15章已经做过详细介绍,此处不再赘。

当选中DataGridView控件中的行时显示不同的颜色

可以利用DataGridView控件的SelectionMode、ReadOnly和SelectionBackColor属性实现当选中DataGridView控件中的行时显示不同的颜色。
(1)SelectionMode用于设置如何选择DataGridView的单元格。
语法:
public DataGridViewSelectionMode SelectionMode { get; set; }
属性值:DataGridViewSelectionMode值之一,默认RowHeaderSelect
(2)ReadOnly属性用于设置是否可以编辑DataGridView控件的单元格。
语法:
public bool ReadOnly { get; set; }
属性值:如果用户不能编辑DataGridView控件的单元格,则为true;否则为false。默认为false。
(3)SelectionBackColor属性用于设置DataGridView单元格在被选定时的背景色。
语法:
public Color SelectionBackColor { get; set; }
属性值:Color,它表示选定单元格的背景色,默认为Empty。

禁止在DataGridView控件中添加和删除行

通过设置DataGridView控件的公共属性AllowUserToAddRows、AllowUserToDeleteRows和ReadOnly,可以禁止在DataGridView控件中添加和删除行。AllowUserToAddRows属性设置一个值,该值指示是否向用户显示添加行的选项;AllowUserToDeleteRows属性设置一个值,该值指示是否允许用户从DataGridView中删除行;ReadOnly属性设置一个指示网格是否处于只读模式的值。
例如:禁止在DataGridView控件中添加和删除行,可以通过下面的代码实现
dataGridView1.AllowUserToAddRows = false; //禁止添加行
dataGridView1.AllowUserToDeleteRows = false; //禁止删除行
dataGridView1.ReadOnly = true; //控件中的数据为只读

使用Columns和Rows属性添加数据

通过设置DataGridView控件的Columns和Rows属性值,可以向数据控件DataGridView添加数据项,使其能够手动添加数据。
(1)Columns属性用于获取一个包含控件中所有列的集合。
语法:
public DataGridViewColumnCollection Columns { get; }
属性值:一个DataGridViewColumnCollection,包含DataGridView控件中的所有列。
(2)Rows属性获取一个集合,该集合包含DataGridView控件中的所有行
语法:
public DataGridViewRowCollection Rows { get; }
属性值:一个DataGridViewRowCollection,包含DataGridView控件中的所有行。

DataGridView详解(详细)相关推荐

  1. P2P技术详解(一):NAT详解——详细原理、P2P简介(转)

    这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值. <P2P技术详解>系列文章 ➊ 本 ...

  2. 015. P2P技术详解(一):NAT详解——详细原理、P2P简介

    http://www.52im.net/thread-50-1-1.html 这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层 ...

  3. x264 代码重点详解 详细分析

    eg mplayer x264 代码重点详解 详细分析 分类: ffmpeg 2012-02-06 09:19 4229人阅读 评论(1) 收藏 举报 h.264codecflv优化initializ ...

  4. JPG文件编解码详解——详细介绍编码和解码JPG

    http://blog.csdn.net/zhengzhoudaxue2/article/details/7693258 JPEG文件编/解码详解 cat_ng 猫猫 JPEG(Joint Photo ...

  5. apache php mysql配置详解,详细介绍:Apache+PHP+MySQL配置攻略_php基础

    一.系统要求: 本系统在REDHAT7.2版本测试通过 二.服务器端软件要求: 1:到APACHE的网络站下载APACHE WEB SERVER http://www.apache.org/ 2. 到 ...

  6. ffmpeg mplayer x264 代码重点详解 详细分析

    ffmpeg和mplayer中求平均值得方法 1 ordinary c language level #define avg2(a,b) ((a+b+1)>>1) #define avg4 ...

  7. P2P技术详解(一):NAT详解——详细原理、P2P简介

    目录 1. IPv4协议和NAT的由来 2. NAT的工作模型和特点 2.1.NAT的概念模型 2.2.一对一的NAT 2.3.一对多的NAT 2.4.按照NAT端口映射方式分类 2.4.1全锥形NA ...

  8. DataGridView详解

    DataGridView的主要常用属性都有哪些呢? 大多数都是UI界面样式属性设置(对于UI属性来说,容易理解,不再赘述), 主要介绍其他非UI属性: 1.CausesValidation 指示此组件 ...

  9. linux od命令详解,详细介绍Linux od命令

    转:http://blog.csdn.net/zuixinnet/article/details/8994002 随着计算机飞速的发展,很多人开始学习Linux,怎样才能学好Linux,一定要学好Li ...

最新文章

  1. Regex解析字符串
  2. 通过修改Tomcat配置,解决乱码问题
  3. win10远程控制centos7.0开机
  4. 调用startactivityforresult后,onactivityresult立刻返回RESULT_CANCELED
  5. 步骤条自定义图片_用函数公式查找图片?我可没骗你
  6. Agisoft Metashape Professional for Mac(三维建模软件)
  7. jQuery点击行选中或者取消CheckBox
  8. linux运维常用命令大全150条
  9. 冒险岛062mysql_冒险岛单机版062
  10. Luogu1527[国家集训队]矩阵乘法
  11. 2019 年第 29 周 DApp 影响力排行榜 | TokenInsight
  12. Qlikview连接Mysql数据源
  13. Mac安装Node-sass报错 warning: loop variable ‘numerator‘ creates a copy from type ‘const std::string
  14. Halcon 2D图像转3D效果查看
  15. 网易云热歌榜歌名与热评的高频词抓取及词云制作
  16. 20.番外篇——Vue如何自定义组件并且进行全局配置
  17. 线性代数拾遗(3)—— “系数矩阵的秩” 和 “齐次线性方程组基础解系向量个数” 的关系
  18. 新项目实操分析,用付费视频进行流量变现
  19. linux系统如何修复分区工具,推荐一个Linux分区恢复工具Testdisk(Windows也能用)...
  20. ORACLE审计管理

热门文章

  1. 外观时尚多色可选,OPPO R9s领衔情人节值得购买手机一览
  2. Docker安装部署MinIO
  3. 大数据测试过程、策略及挑战
  4. python针对xls表格基本操作
  5. 3. C语言 -- 叫你一声你敢答应嘛
  6. 用Python爬取《王者荣耀》英雄皮肤数据并可视化分析,用图说话
  7. 用Python获取动态图表数据!
  8. springboot cron定时器
  9. 什么是血氧仪检测器血氧饱和浓度异常监测
  10. python 图像处理(一)