• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > DataGridView控件详细介绍

DataGridView控件详细介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了c#datagridview控件,datagridview控件,开发datagridview控件,datagridview控件属性,c#中datagridview控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1何为DataGridView
通过DataGridView控件,可以显示和编辑表格式的数据,而这些数据可以取自多种不同类型的数据源。
DataGridView控件具有很高的的可配置性和可扩展性,提供了大量的属性、方法和事件,可以用来对该控件的外观和行为进行自定义。当你需要在WinForm应用程序中显示表格式数据时,可以优先考虑DataGridView(相比于DataGrid等其它控件)。如果你要在小型网格中显示只读数据,或者允许用户编辑数以百万计的记录,DataGridView将为你提供一个易于编程和良好性能的解决方案。

DataGridView 用来替换先前版本中的DataGrid,拥有较DataGrid更多的功能;但DataGrid仍然得到保留,以备向后兼容和将来使用。如果你要在两者中选择,可以参考下面给出的DataGrid 和DataGridView之间区别的细节信息。

1.1DataGridView和DataGrid 之间的区别
DataGridView提供了大量的DataGrid所不具备的基本功能和高级功能。此外,DataGridView 的结构使得它较之DataGrid控件更容易扩展和自定义。
下表描述了DataGridView提供而DataGrid未提供的几个主要功能。

DataGridView功能

描述

多种列类型

与DataGrid相比,DataGridView 提供了更多的内置列类型。这些列类型能够满足大部分常见需要,而且比DataGrid中的列类型易于扩展或替换。

多种数据显示方式

DataGrid仅限于显示外部数据源的数据。而DataGridView则能够显示非绑定的数据,绑定的数据源,或者同时显示绑定和非绑定的数据。你也可以在DataGridView中实现virtual mode,实现自定义的数据管理。

用于自定义数据显示的多种方式

DataGridView提供了很多属性和事件,用于数据的格式化和显示。比如,你可以根据单元格、行和列的内容改变其外观,或者使用一种类型的数据替代另一种类型的数据。

用于更改单元格、行、列、表头外观和行为的多个选项

DataGridView使你能够以多种方式操作单个网格组件。比如,你可以冻结行和列,避免它们因滚动而不可见;隐藏行、列、表头;改变行、列、表头尺寸的调整方式;为单个的单元格、行和列提供工具提示(ToolTip)和快捷菜单。



唯一的一个DataGrid提供而DataGridView未提供的特性是两个相关表中数据的分层次显示(比如常见的主从表显示)。你必须使用两个DataGridView来显示具有主从关系的两个表的数据。

1.2DataGridView的亮点
下表着重显示了DataGridView的主要特性,稍后会介绍它们的详细信息。

DataGridView控件特性

描述

多种列类型

DataGridView提供有TextBox、CheckBox、Image、Button、ComboBox和Link类型的列及相应的单元格类型。

多种数据显示方式

DataGrid仅限于显示外部数据源的数据。而DataGridView则能够显示非绑定的数据,绑定的数据源,或者同时显示绑定和非绑定的数据。你也可以在DataGridView中实现virtual mode,实现自定义的数据管理。

自定义数据的显示和操作的多种方式

DataGridView提供了很多属性和事件,用于数据的格式化和显示。

此外,DataGridView提供了操作数据的多种方式,比如,你可以:

  • 对数据排序,并显示相应的排序符号(带方向的箭头表示升降序)
  • 对行、列和单元格的多种选择模式;多项选择和单项选择
  • 以多种格式将数据拷贝到剪贴板,包括text,CSV (以逗号隔开的值) 和 HTML
  • 改变用户编辑单元格内容的方式

用于更改单元格、行、列、表头外观和行为的多个选项

DataGridView使你能够以多种方式操作单个网格组件。比如,你可以:

  • 冻结行和列,避免它们因滚动而不可见;
  • 隐藏行、列、表头;
  • 改变行、列、表头尺寸的调整方式;
  • 改变用户对行、列、单元格的选择模式;
  • 为单个的单元格、行和列提供工具提示(ToolTip)和快捷菜单。
  • 自定义单元格、行和列的边框样式。

提供丰富的可扩展性的支持

DataGridView提供易于对网格进行扩展和自定义的基础结构,比如:

  • 处理自定义的绘制事件可以为单元格、列和行提供自定义的观感;
  • 继承一个内置的单元格类型以为其提供更多的行为;
  • 实现自定义的接口以提供新的编辑体验。


2DataGridView的结构
DataGridView及其相关类被设计为用于显示和编辑表格数据式数据的灵活的、可扩展的体系。这些类都位于system.Windows.Forms命名空间,它们的名称也都有共同的前缀"DataGridView"。

2.1结构元素(Architecture Elements)
主要的DataGridView相关类继承自DataGridViewElement类。
DataGridViewElement类有两个属性,一是DataGridView,该属性提供了对其所属的DataGridView的引用;二是State,该属性表示当前的状态,其值为DataGridViewElementStates枚举,该枚举支持位运算,这意味着可以设置组合状态。

2.2单元格和组(Cells and Bands)
DataGridView由两种基本的对象组成:单元格(cell)和组(band)。所有的单元格都继承自DataGridViewCell基类。 两种类型的组(或称集合)DataGridViewColumn和DataGridViewRow都继承自DataGridViewBand 基类,表示一组结合在一起的单元格。
DataGridView会与一些类进行互操作,但最常打交道的则是如下三个:DataGridViewCell, DataGridViewColumn,DataGridViewRow。

2.3DataGridView的单元格 (DataGridViewCell)
单元格(cell)是操作DataGridView的基本单位。Display is centered on cells, and data entry is often performed through cells。可以通过DataGridViewRow 类的Cells 集合属性访问一行包含的单元格,通过DataGridView的SelectedCells集合属性访问当前选中的单元格,通过DataGridView的CurrentCell属性访问当前的单元格。

DataGridViewCell 类图

Cell相关类和属性



DataGridViewCell是一个抽象基类,所有的单元格类型都继承于此。DataGridViewCell及其继承类型并不是Windows Forms控件,但其中一些宿主于Windows Forms控件。单元格支持的编辑功能通常都由其宿主控件来处理。

DataGridViewCell对象不会像Windows Forms控件那样控制自己的外观和绘制(painting)特征,相反的,DataGridView会负责其包含的单元格的外观。通过DataGridView 控件的属性和事件,你可以深刻地影响单元格的外观和行为。如果你对单元格定制有特殊要求,超出了DataGridView提供的功能,可以继承DataGridViewCell或者它的某个子类来满足这些要求。

2.3.1DataGridViewCell的工作机制
理解DataGridView结构的一个重要部分是理解DataGridViewCell的工作机制:

单元格的值(A Cell's Value)
单元格的值是其根本所在。如果单元格所在列不是绑定列,并且所在的DataGridView也不是Virtual Mode,那么它的值就由它本身所持有并维护。对于那些由绑定产生的单元格,它们压根儿就不“知道”该持有什么值,当然也就不会去维护了;当DataGridView需要单元格的值的时候,它会到数据源中查询该单元格应当显示的值。在Virtual Mode下,除了会触发CellValueNeeded事件以获取相应单元格的值外,与数据绑定方式非常相似。在单元格级,所有这些由DataGridViewCell.GetValue() 方法来控制。
默认情况下,单元格的值的类型为object。当一个列被绑定后,会设置它的ValueType属性,它包含的单元格的ValueType也随之更新。而单元格的ValueType对于下一步的格式化非常重要。

格式化显示(Formatting for Display)
注意:当DataGridView需要了解“如何显示这个单元格”时,它需要的是单元格的FormattedValue ,而不是Value。这是一个复杂的过程,因为格式化屏幕上的一些内容通常需要将它转换为字符串。例如,尽管你将单元格的值(Value)设置为整型值155,在显示它的时候仍需要将其格式化。单元格和其所在的列的FormattedValueType 属性决定了显示它时所用的类型。多数列使用字符串类型,而Image和CheckBox类型的单元格/列则使用其它类型。Image类型的单元格和列使用Image作为默认的FormattedValueType,它的内置实现了解如何去显示一个Image。CheckBox类型的单元格/列的FormattedValueType属性则取决于属性ThreeState的值。在单元格级,所有这些由DataGridViewCell.GetFormattedValue()控制。

默认情况下,DataGridView使用
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • WinForm中DataGridView折叠控件【超好看】
  • datagrid和repeader控件中替换标识值的方法
  • 实现DataGridView控件中CheckBox列的使用实例
  • DataGridView控件详细介绍
  • 如何在DataGrid控件中实现自定义分页
  • 将datagrid控件内容输出到excel文件

相关文章

  • 2017-05-11web.config使用方法指南
  • 2017-05-11解决Visual Studio 2005 无法显示设计视图的方法
  • 2017-05-11.NET UEditor使用方法说明
  • 2017-05-11asp.net音频转换之.amr转.mp3(利用ffmpeg转换法)
  • 2017-05-11Asp.net 无限级分类实例代码
  • 2017-05-11Asp.net第三方控件ComboBox组合框介绍
  • 2017-05-11详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
  • 2017-05-11.NET WinFrom中给文本框添加拖放事件的代码
  • 2017-05-11WebForm获取checkbox选中的值(几个简单的示例)
  • 2017-05-11asp.net+jquery ajax无刷新登录的实现方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net 从客户端中检测到有潜在危险的 Request.Form 值错误解
    • ASP.NET Core使用微软官方类库实现汉字转拼音
    • web.config使用方法指南
    • asp.net下获取远程网页的内容之二(downmoon原创)
    • ASP.NET微信开发(接口指南)
    • .net MVC使用Session验证用户登录(4)
    • asp.net 分页链接方法
    • ABP入门系列之Json格式化
    • axp.net ScriptManager的简单用法
    • 在asp.net(c#)下实现调用cmd的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有