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

article/2025/11/1 2:35:14

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 = "字符串值";

http://chatgpt.dhexx.cn/article/1coq1y6c.shtml

相关文章

DataGridView简单介绍

在很多软件中都需要查询数据,显示数据,机房收费系统也是非常多的。在这里我们就用到了DataGridView控件。 一,概述: 使用 DataGridView控件,可以显示和编辑来自多种不同类型的数据源的表格数据。它可以通过设置属性直接…

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

C#Winform的DataGridView控件使用详解2—DataGridView表格样式设置及表格操作 DataGridView表格样式设置DataGridView行序号设置 右键弹出控件表格操作DataGridView新建行DataGridView删除行DataGridView清除内容DataGridView复制DataGridView粘贴 在展示和处理二维数据时&…

C# DataGridView控件的基础应用实例

目录 引言一、界面简介二、初始化三、添加一行数据四、允许修改表格五、复制选择的数据六、复制所有数据七、读一行数据八、读所有数据九、查找名字记录十、删除一行数据十一、删除多行数据十二、清除所有行十三、删除所有列十四、其它:选中单元格十五、最后 引言 …

基于用户的协同过滤个性化音乐推荐系统毕业设计

基于用户的协同过滤个性化音乐推荐系统 摘 要 互联网发展到如今已经完完全全的改变了的生活方式,融入了日常生活,包括交流,出行,消费,娱乐等。与此同时,音乐数据也在与日俱增的变化着。用户在访问一个…

基于深度学习的音乐推荐系统

♚ 作者:沂水寒城,CSDN博客专家,个人研究方向:机器学习、深度学习、NLP、CV Blog: http://yishuihancheng.blog.csdn.net 推荐系统在我们日常生活中发挥着非常重要的作用,相信实际从事过推荐相关的工程项目的人或多或少…

(附源码)计算机毕业设计SSM基于java的音乐推荐系统

(附源码)计算机毕业设计SSM基于java的音乐推荐系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技…

【计算机毕业设计】Java基于协同过滤算法的音乐推荐系统

毕设帮助、开题指导、源码交流,联系方式见文末。。 音乐检索系统的开发目的是使音乐检索模式转变成信息管理,为音乐检索人员提供方便条件。对音乐检索的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进&#x…

java基于springboot+vue协同过滤算法的音乐推荐系统

音乐是人类永恒的话题,无论是在古代还是现代人们对音乐都有一种非常的热爱在里面,同时音乐也寄语了人们对美好事物的憧憬,很多时候人们在试听音乐的时候并不能够及时的找到适合自己的音乐,而且当下很多音乐都是收费的,…

[附源码]java毕业设计网易云音乐推荐系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

基于python的音乐推荐系统

基于python的音乐推荐系统 算法:基于用户的协同过滤推荐算法 语言:python 数据库:sqlite 框架:django 编号:8448648225698568爱喝可乐的大学生

SpringBoot+Vue项目个性化音乐推荐系统

文末获取源码 开发语言:Java 框架:springbootvue Node:node.js JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/idea,Visual Maven包…

如何使用Python实现音乐推荐系统

如何使用Python实现音乐推荐系统 在我的大学三年中,我最大的技术难题之一是如何使用Python实现音乐推荐系统。音乐推荐系统是基于用户听歌历史、用户喜好和音乐特征等因素,为用户推荐最合适的音乐。在这篇博客中,我将分享我是如何使用Python…

动手写简单的音乐推荐系统

简单音乐推荐系统的设计与实现 本文提供两种简单的传统音乐推荐系统(next-songs 方向)的思路与实现。(数学原理和机器学习方法从略) 下文仅给出思路以及关键代码,完整代码实现见: https://github.com/cdfmlr/murecom…

基于hadoop大数据的音乐推荐系统

1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,基于hadoop大数据的音乐推荐系统。 1.4 Hadoop优势(4高) 1.5 Hadoop 组成(面试重点) 1.5.1 HDFS 架构概述 Hadoop Distributed File System ,简…

python音乐推荐系统_音乐推荐系统

音乐频道推荐业务,支持各个产品业务和策略。这里我先使用CB+CF+LR实现推荐部分,下面具体展开: 一、推荐系统流程图 CB,CF算法在召回阶段使用,推荐出来的item是粗排的,利用LR算法,可以将CB,CF召回来的item进行精排,然后选择分数最高,给用户推荐出来。后续我们可以采用…

(附源码)计算机毕业设计SSM音乐推荐系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

音乐推荐系统设计

文章目录 问题描述如何解决系统设计评测指标推荐系统的用户画像运动音乐场景用户行为分析睡眠音乐场景用户行为分析治愈音乐场景用户行为分析其他音乐场景用户行为分析 问题描述 移动网络和数字多媒体技术的飞速发展促进了数字音乐产业的共享与广泛传播.对用户而言…

音乐推荐系统(协同过滤和SVD)

python音乐推荐系统 首先对音乐数据集进行数据清洗和特征提取,基于矩阵分解方式来进行音乐推荐。 直接上源码和数据集文件 链接:https://pan.baidu.com/s/1Q45-pTRgXcQ4H-Z2WsRbVQ?pwd55z0 提取码:55z0音乐数据处理 读取音乐数据集&#x…

基于深度学习的音乐推荐系统简述

本文简要介绍我做的基于深度学习的音乐推荐系统。主要从需求分析与设计实现的角度来进行介绍。 (一)需求分析 基于深度学习的音乐推荐系统旨在以个性化音乐推荐模型为基础,使用B/S架构的形式实现。个性化推荐模型使用了 随机梯度下降&#x…