C#Winform的DataGridView控件使用详解1—七种DataGridViewColumn类型使用方法

  • DataGirdView控件Column类型
    • DataGridViewButtonColumn列:==按钮==
    • DataGridViewCheckBoxColumn列:==复选框==
    • DataGridViewComboBoxColumn列:==下拉框==
    • DataGridViewImageColumn列:==图片==
    • DataGridViewLinkColumn列:==链接==
    • DataGridViewTextBoxColumn列:==文本框==

在展示和处理二维数据时,我们常常会想起Excel。但是使用Excel自带的各种函数处理较为繁琐的步骤时显得略显吃力,如果使用Excel自带宏编程,可能会对VB语言不甚熟悉或是感觉不nice。这个时候,熟悉C#编程语言的你,就需要用到DataGridView控件,设计一款二维数据处理利器。 此处,我们开始进入对DataGridView摸索学习的环节…

DataGirdView控件Column类型

拿到一个空白的任人蹂躏的DataGridView控件,我们开始开始敲动键盘开始我们的设计之旅~

根据以上操作步骤,我们就能很轻松完成一个个列的手动创建。这个时候,你会发现,我们在添加列的时候,列【类型】下垃框中竟然有足足6种类型,这可比我们Excel中常用的多了。这里,让我们研究下各种不同类型的列有何不同表现和用途。

DataGridViewButtonColumn列:按钮

按钮列就等同于我们的button控件,button控件能完成的,它都能完成。比如button的Click事件,我们可以通过datagridview1_CellClick()来判断和完成。

这里的第2、3列,我们用到的就是DataGridViewButtonColumn对象。这里实现了对文件的移除和查看功能。

// 文件一览框内,点击"移除"与"查看"按钮,对应事件
//dtFileroute为DataGridView控件的Name
private void dtFileroute_CellClick(object sender, DataGridViewCellEventArgs e)
{//通过点击对象的index来判断点击的是哪个按钮if (e.ColumnIndex == 1)// 点击的是"移除"按钮 {this.dtFileroute.Rows.RemoveAt(e.RowIndex);//删除改行}// 点击的是"查看"按钮if (e.ColumnIndex == 2){try{string path = this.dtFileroute[0, e.RowIndex].Value.ToString();//获取第一列文本框中文件地址// 将选中查看的对象在TextBox中显示//OpenTxt()将文本文件加载到一个TextBox控件中显示OpenTxt(path, Convert.ToInt16(e.RowIndex));//传入文件全路径,打开显示在txtVer中//handle()将TextBox中内容在datagridview1中展示出来handle();//将txt文件处理成表格}catch{MessageBox.Show("文件打开失败!");return;}}
}

以上OpenTxt()和handle()就不进行代码展示了,如果需要源代码可以去本人上传资源《高铁有砟轨道大养机数据报表转换工具》中下载研究。我们点击【查看】按钮的结果如下:

DataGridViewCheckBoxColumn列:复选框

复选框列等同于我们的CheckBox控件,我们可以在该列内进行勾选和取消勾选操作。

//给DataGridViewCheckBoxCell对象赋值为true(勾选)和false(取消勾选)
((DataGridViewCheckBoxCell)this.dataGridView1.Rows[0].Cells[1]).Value = true;
//判断是否被勾选,isOK == "true"勾选 isOK == "false"不勾选
string isOK = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue.ToString();

DataGridViewComboBoxColumn列:下拉框

下拉框列中,我们可以手动或者代码添加多个下拉的Item。这里,我们应该关心的是怎么添加和删除Item、怎么获取或者设置选中的Item对象。如果需要实现ComboBox的SelectChange事件,我们可以使用datagridview_CellValueChanged()来进行实现。

//添加下拉Item对象
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Items.Add("Item1");
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Items.Add("Item2");
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Items.Add("Item3");
//按照Item的text来删除下拉对象
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Items.Remove("Item2");
//按照Item集合下标删除下拉对象
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Items.RemoveAt(1);
//给ComboBox赋予默认值,通过指定Item集合下标赋值
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Value = ((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Items[1];
//可以直接给ComboBox单元格赋予值,该值必须为下拉框中包含的对象
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Value = "Item1";
//赋值时,赋值对象不包含在下拉框集合中,会提示异常
((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Value = "hhh";//异常
//获取ComboBOX单元格选中的值
string item = ((DataGridViewComboBoxCell)this.dataGridView1.Rows[0].Cells[2]).Value.ToString();

DataGridViewImageColumn列:图片

图片列对象用于存储图片对象,但由于控件限制,我们添加分辨率太高的图片就会显示为X,所以为了美观,我们要设置缩略图模式。

//给ImageCell对象赋予图片的值,可以与imageList1控件关联
this.dataGridView1.Rows[0].Cells[3].Value = imageList1.Images[0];
//设置缩略图模式
this.dataGridView1.Rows[0].Cells[3]).ImageLayout = DataGridViewImageCellLayout.Zoom;

DataGridViewLinkColumn列:链接

链接列下cell.value可为网址对象,类似于Office中的超链接。但如果不用于超链接功能,也能实现类似于不可点击修改的Textcell功能。

//给cell对象赋值网址
this.dataGridView1.Rows[0].Cells[4].Value = "https://mp.csdn.net";
//使用"iexplore.exe"调用网址
System.Diagnostics.Process.Start("iexplore.exe",this.dataGridView1.Rows[0].Cells[4].Value.ToString());

DataGridViewTextBoxColumn列:文本框

这是我们新建DataGridView列时的默认对象,常用于展示一系列字符串对象。为完成数据展示功能,可新建类似Excel表格对象,完成数据输入。

//方式一:给TextCell对象赋予值
this.dataGridView1.Rows[0].Cells[5].Value = "字符串值";
//方式二:给TextCell对象赋予值
this.dataGridView1[5,0].Value = "字符串值";

C#Winform的DataGridView控件使用详解1—七种DataGridViewColumn类型使用方法相关推荐

  1. C#Winform的DataGridView控件使用详解2—DataGridView表格样式设置及表格操作

    C#Winform的DataGridView控件使用详解2-DataGridView表格样式设置及表格操作 DataGridView表格样式设置 DataGridView行序号设置 右键弹出控件表格操 ...

  2. android控件使用大全,Android常见控件使用详解

    本文实例为大家分享了六种Android常见控件的使用方法,供大家参考,具体内容如下 1.TextView 主要用于界面上显示一段文本信息 2.Button 用于和用户交互的一个按钮控件 //为Butt ...

  3. Flash播放控件属性详解

    Flash 播放控件属性详解 一.属性篇 1.AlignMode(读写)  语法:AlignMode As Long  说明:对齐方式(与SAlign 属性联动).当控件的长宽比例与影片不一致且WMo ...

  4. QT QLabel控件(使用详解)

    本文详细的介绍了TextLabel控件的各种操作,例如:显示边框.设置文字.设置字体.设置信息提示框.状态提示.居中对齐.加载图片.自适应图片大小.设置位置大小.样式表等操作. 本文作者原创,转载请附 ...

  5. QT QTabWidget 控件 使用详解

    本文详细的介绍了QTabWidget控件的各种操作,例如:新建界面.设置页面名字.设置提示信息.设置页面激活.设置标题栏位置.设置页面关闭按钮.设置页面关闭按钮.获取页面下标.获取页面总数.清空所有页 ...

  6. VB6.0 ActiveX 控件开发详解 [第一章:创建工程]

    前言 在CSDN的VB论坛上,我总是能够看见有人这样问"有没有这样的控件,一个列表框,每一个项前面有一个按钮"(这是例子),又或者见到这样:"怎么样做一个ActiveX控 ...

  7. QT QSpinBox 整数计数器控件 使用详解

    本文详细的介绍了QSpinBox控件的各种操作,例如:获取数值.设置前后缀.设置最大/小值.进制转换.关联信号槽.优化信号.QSS优化.文件源码.样式表 .效果:可以设置背景.边框.向上按钮.向下按钮 ...

  8. C#实现WinForm下DataGridView控件从剪切板中进行内容粘贴

    DataGridView是C#中在处理显示表格数据时常用的控件,但是在使用过程中,会发现复制DataGridView控件中的内容比较容易,而把剪切板中拷贝的内容黏贴到DataGridView控件中比较 ...

  9. c# WinForm开发 DataGridView控件的各种操作

    一.单元格内容的操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1.CurrentCell.Value);  // 取得当前单元格的列 Index ...

最新文章

  1. 从Webshell到肉鸡
  2. 《Offer一箩筐》2W字总结面试套路14问——不给例子的教程都是耍流氓!!
  3. Linux永久挂载新的硬盘
  4. oracle 递归计算,SQL(Oracle)中的递归计算
  5. 数十亿次数学运算只消耗几毫瓦电力,谷歌开源Pixel 4背后的视觉模型
  6. 初识Spring Security
  7. 开启html元素的编辑模式contenteditable=true
  8. springboot之idea多模块
  9. CDN原理 CDN技术是什么
  10. linux下高性能服务器pdf,Linux高性能服务器编程(pdf+epub+mobi+txt+azw3)
  11. 浏览器扫码打开Android/iOS App
  12. utc时间 单位换算_将UTC日期转换为毫秒
  13. DAX基础1:快速熟悉DAX的使用环境之Power BI
  14. 输出“A、B...Z、AA、AB...AZ、BA、BB...BZ.......”的结构
  15. 什么是自然语言处理,自然语言处理目前的应用有哪些?
  16. CodeForces 1000A Codehorses T-shirts
  17. Python爬虫笔记——解析json数据(以周杰伦歌单为例)及Headers
  18. 15/18位身份证号码验证的正则表达式总结(详细版)
  19. 【愚公系列】2023年04月 攻防世界-MOBILE(Android2.0)
  20. java 视频系统_java web电影网视频点播系统

热门文章

  1. Mysql之快速上手sql优化
  2. 微信小程序和PHP后台交互的中文编码问题
  3. Python|xlwt|xlrd|调整单元格样式(背景,字体,对齐、虚线边框、列宽行高、添加公式)|xlutils|openpyxl|只读与只写|图表|语言基础50课:学习(8)
  4. Easy-题目46:205. Isomorphic Strings
  5. oracle客户端和plsql安装
  6. js用正则去除字符串空格
  7. 关于时间date的加减运算的处理
  8. 音质好到爆!历数业内最赞的四大运动蓝牙耳机
  9. 如何利用手机实现图片生成PDF格式,这个方法超实用!
  10. 网络ip地址划分-子网划分