C#窗体控件DataGridView

目录

简介

基本框架

案例

案例1,往DataGridView中添加新列。

案例2,使用列名删除DataGridView中的某一列。

案例3,人手选中某一列,然后进行删除。

案例4,添加新的一行。

案例5,删除选中行。

案例6,修改某个单元格的值。


简介

可以以图表形式显示信息。


基本框架

新建一个窗体程序,拖到工具栏中的DataGridView控件到窗体中,并往里面添加三列,分别为name,age,job。


案例

案例1,往DataGridView中添加新列。

创建一个按钮,往按钮的click事件中添加以下代码。

 private void button4_Click(object sender, EventArgs e){var columns = dataGridView1.Columns;    //获取datagridview中列的集合columns.Add("colHeight", "身高");     //往列集合中添加一个新项,参数1为列名,参数2为列表头}

点击按钮显示结果如下:


案例2,使用列名删除DataGridView中的某一列。

在案例1的基础上,添加一个新的按钮,往按钮的click事件中添加以下代码。

  private void button5_Click(object sender, EventArgs e){var columns=dataGridView1.Columns;      //获取列的集合if (columns.Contains("colHeight"))     //判断是否有colHeight这一列,如果是通过index清除,则不需要判断{columns.Remove("colHeight");}}

先使用案例1创建的按钮,新建一列,然后点击案例2的按钮,会发现,案例1创建的按钮被移除。


案例3,人手选中某一列,然后进行删除。

该案例利用选中列的index来对列进行删除。添加一个按钮,往按钮的click事件中添加以下代码。

 private void button6_Click(object sender, EventArgs e){var columns = dataGridView1.Columns;        //获取列的集合var address=dataGridView1.CurrentCellAddress;       //获取选中单元格的行列坐标int columnIndex=address.Y;      //获取列坐标columns.RemoveAt(columnIndex);      //把列集合中对应的index的列删除}

案例4,添加新的一行。

添加三个textbox控件,分别取名为tbxName,tbxAge,tbxJob,然后添加一个按钮,往按钮的click事件中添加如下代码。

private void button7_Click(object sender, EventArgs e)
{string[] msg = new string[3];   //因为每一行有name,age,job三个信息,所以创建一个三个对象的string数组msg[0] = tbxName.Text;      //设置namemsg[1] = tbxAge.Text;    //设置agemsg[2] = tbxJob.Text;   //设置职业var rows=dataGridView1.Rows;    //获取行的集合rows.Add(msg);  //往行中添加之前设定的字符串数组对象
}

输入:

结果:


案例5,删除选中行。

添加一个按钮,往按钮的click事件中添加如下代码。

private void button8_Click(object sender, EventArgs e)
{var address = dataGridView1.CurrentCellAddress;       //获取选中单元格的行列坐标int rowIndex = address.X;      //获取行坐标var rows = dataGridView1.Rows;    //获取行的集合rows.RemoveAt(rowIndex);    //删除指定行
}

案例6,修改某个单元格的值。

添加一个textbox控件,命名为tbxValueChange,再添加一个按钮,往按钮的click事件中添加如下代码。

private void button9_Click(object sender, EventArgs e)
{var currentCell=dataGridView1.CurrentCell;      //获取当前选中的单元格currentCell.Value=tbxValueChange.Text;      //把选中单元格的值,改为文本框的设定值 
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1409815.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

springboot 自动配置源码解读

SpringBootApplication 作用 SpringBootConfiguration:主启动类可以当做配置类使用,比如注入Bean等。ComponentScan:包扫描注解。EnableAutoConfiguration(重要):开启自动配置。 EnableAutoConfiguration AutoConfigurationPackag…

基于simulink的电弧炉模型建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于simulink的电弧炉模型建模与仿真,输出电弧炉模型的电压曲线和电流曲线以及U-I分布图。 2.系统仿真结果 3.核心程序与模型 版本:MATLAB2022a 53 …

unity制作app(2)--主界面

1.先跳转过来,做一个空壳!新增场景main为4号场景! 2.登录成功跳转到四号场景! 2.在main场景中新建canvas,不同的状态计划用不同的panel来设计! 增加canvas和底图image 3.突然输不出来中文了,浪…

java:错误:不支持发行版本

你在运行的时候是否遇见过这样的问题: 有时候新建一个Java项目后,运行起来就会提示这样的错误。主要原因是因为项目使用的Java版本和安装的Java版本不符合 ,在这里总结一下解决方法: 首先点击file的project 把Java编译器也设置成 一样的版本 即可解决问…

a_bogus逆向分析

a_bogus逆向分析 前言log插桩步骤一分析步骤二分析 前言 最新版本的a_bogus生成步骤大致分为以下4步:步骤操作一根据请求的params、data、useragent以及环境参数生成四个数组二通过一些规则把步骤一生成的四个数组组合成一个大数组三通过一些随机数生成一个乱码字符…

如何使用Go语言进行基准测试(benchmark)?

文章目录 一、基准测试的基本概念二、编写基准测试函数三、运行基准测试四、优化代码性能五、注意事项总结 在Go语言中,基准测试(benchmark)是一种评估代码性能的有效方式。通过基准测试,我们可以测量代码执行的时间、内存使用情况…

【MATLAB画图】如何绘制图像坐标系

首先我们需要图像坐标轴的原点在左上角: set(gca,ydir,reverse,xaxislocation,top); 然后我们需要坐标轴上加上箭头 quiver(0, 0, 0, 520); % 在(x1, y1)处绘制一个箭头,其方向和长度由(dx, dy)确定 quiver(0, 0, 700, 0); % 在(x1, y1)处绘制一个箭头…

【Docker第一课】docker的基本命令和试启动容器(详细图解)

目录 知识梗概 docker的初步了解 了解docker常用命令 试开启容器(这里演示nginx、python3和mysql) 1、nginx容器的启动 2、python3容器的启动 docker的作用 虚拟机与容器的区别 写在前面: 本专栏你将了解docker一些入门知识&#xff…

计算机英文论文常见错误写作习惯3

目录 第一部分 Numbers and Equations ‘such as’ and ‘etc.’ 第二部分 第一部分 Numbers and Equations 两个非常常见的错误是关于阿拉伯数字和方程式的表示。中国作家通常写阿拉伯数字,而不是拼出单词。然而,使用阿拉伯数字本身并不是一个错误…

若依集成seata分布式事务(AT模式)并以nacos作为配置中心和注册中心(含踩坑)

一、序言 由于使用的是若依的框架,在若依的官网也有说明seata的使用方法,但是自己在写demo的时候,是想结合项目来实现demo,不过seata在本地的部署是参考了seata的官网和若依的官网对seata的使用 以及博客:微服务项目中…

礼赞劳动节,致敬劳动者。节日随想:疾笔耕耘也是一种劳动方式。

马克思也快诞辰了206年了,恩格斯领导的第二国际通过的决议节日也迎来了134岁的生日了,我也继续在劳动的路上。 五月是值得纪念的日子,作为一名无上光荣的分子,无比仰慕崇拜的两位先驱前辈大胡子,其一 生于斯&#xff0…

(学习日记)2024.05.08:UCOSIII第六十二节:常用的结构体(os.h文件)第一部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后&a…

blender(布兰德)下载安装-windows系统安装

1.简单介绍 这些介绍都是一些百科或官网提供的内容,直接搜索对应的信息后即可看到。Blender(布兰德)是一款永久开源免费的3D创建套件。支持整个3D创作流程:建模、雕刻、骨骼装配、动画、模拟、实时渲染、合成和运动跟踪&#xff…

Java Maven 编译资源文件拷贝错误 dirCompressed.zip failed with MalformedInputException:

完整的错误信息为: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources (default-resources) on project core-java-io: filtering C:\WorkDir\Repository\iSharkfly-Docs\java-tutorials\core-java-modules\core-ja…

Microsoft.NET 框架程序设计 —— 共享程序集

文件版本是一个很难解决的问题。实际上,如果仅仅在一个文件中将其某一位从0改变到1、或者从1改变到0,我们便不能绝对保证使用原来文件的代码和它使用新版文件时的行为一样。这是因为许多应用程序都会有意或者无意地引入bug。如果一个文件的后续版本修复了一个bug,应用程序便…

第12章 软件测试基础(第一部分)概念、质量保证、测试用例、测试执行过程

一、软件测试 (一)定义 动态验证计算机程序对有限的测试用例集是否可产生期望的结果的过程。测试计划是描述了要进行的测试活动的范围、方法、资源和进度的文档。编写测试计划目的:使测试工作顺利进行、使项目参与人员沟通更舒畅、使测试工…

翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习六

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深…

用FPGA+DAC输出“心”形波

1.前言 之前在做信号处理的时候整了一下活,用FPGADAC(数模转换器),输出了一个爱心形状的波形,今天整理资料的时候偶然发现了他,现在把他分享出来。当时将DAC的输出接在示波器上显示如下图所示: …

雅思备考经验(个人向)

IELTS备考经验(个人向) 备考时长约1个月, 首考6.5(6), 虽然没考到小分6.5, 我也接受了, 过段时间再考吧. 机考or纸笔 雅思有机考也有传统的纸笔考试形式, 个人更推荐机考, 原因如下: 机考口语和笔试一般都在同一天, 而纸笔的口语和笔试一般不在同一天, 有时候可能会差一个…

工业三废数据集(工业烟粉尘排放量、工业二氧化硫排放量、工业废水排放量)2006-2021年

01、数据介绍 工业三废是指工业生产过程中排出的废气、废水和废渣 工业二氧化硫排放量指企业在燃料燃烧和生产工艺过程中排入大气的二氧化硫数量。 工业烟粉尘排放量是指企业在生产工艺过程中排放的烟尘和粉尘等颗粒物重量。 工业废水排放量是指企业在生产过程中产生的废水…