C#操作DataGridView获取或设置当前单元格的内容
作者:.NET开发菜鸟 发布时间:2022-04-01 14:44:25
标签:C#,DataGridView,单元格,内容
当前单元格指的是DataGridView焦点所在的单元格,它可以通过DataGridView对象的CurrentCell属性取得。如果当前单元格不存在的时候,返回null。
取得当前单元格的内容:
object obj = this.dgv_PropDemo.CurrentCell.Value;
注:返回值是object类型的。
取得当前单元格的列Index:
int columnIndex = this.dgv_PropDemo.CurrentCell.ColumnIndex;
取得当前单元格所在的行的Index:
int rowIndex= this.dgv_PropDemo.CurrentCell.RowIndex;
另外,使用DataGridView.CurrentCellAddress属性来确定单元格所在的行:
int row= this.dgv_PropDemo.CurrentCellAddress.Y;
列:
int column = this.dgv_PropDemo.CurrentCellAddress.X;
注:DataGridView的行和列的索引都是从0开始的。
当前的单元格可以通过设定DataGridView对象的CurrentCell来改变。
DataGridView1.CurrentCell=DataGridView1[int columnIndex,int rowIndex];
注:如果DataGridVIew的选中模式是行选择,那么会选中当前单元格所在的整行。否则只会选中设置的当前单元格。
将CurrentCell设置为Null可以取消激活的当前单元格。
示例:设置第一行第二列为当前的CurrentCell
this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[1, 0];
示例:通过向上和向下实现遍历DataGridView
/// <summary>
/// 向上遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Up_Click(object sender, EventArgs e)
{
//获取上一行的索引
int upRowIndex = this.dgv_PropDemo.CurrentCell.RowIndex - 1;
if (upRowIndex < 0)
{
//选中最后一行
this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, this.dgv_PropDemo.RowCount - 1];
}
else
{
this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, upRowIndex];
}
}
/// <summary>
/// 向下遍历
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_Down_Click(object sender, EventArgs e)
{
//获取下一行的索引
int nextRowIndex = this.dgv_PropDemo.CurrentCell.RowIndex + 1;
if (nextRowIndex > this.dgv_PropDemo.RowCount - 1)
{
this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, 0];
}
else
{
this.dgv_PropDemo.CurrentCell = this.dgv_PropDemo[0, nextRowIndex];
}
}
来源:https://www.cnblogs.com/dotnet261010/p/6748378.html


猜你喜欢
- 正确使用并行流,避免共享可变状态错用并行流而产生错误的首要原因,就是使用的算法改变了某些共享状态。下面是另一种实现对前n个自然数求和的方法,
- 单元测试是编写测试代码,应该准确、快速地保证程序基本模块的正确性。JUnit是Java单元测试框架,已经在Eclipse中默认安装。JUni
- 最近看了一些淘宝购物车的demo,于是也写了一个。效果图如下:主要代码如下: actvity中的代码:public class Shoppi
- HttpWebRequest 是一个Http 请求类,继承于 WebRequest。WebRequest 是一个抽象类,能够对统一资源标识符
- 本文实例为大家分享了Android仿iphone自定义滚动选择器的具体代码,供大家参考,具体内容如下一、多的不说,效果图,先走起二、实例源码
- mybatis plus新增(insert)数据获取主键id在我们执行insert操作的时候,往往会需要拿到新插入数据的主键id做下一步操作
- transferTo(File file)的路径问题今天看到layui的文件上传的控件,就尝试了一下。简单创建了一个SpringMVC项目。
- 这篇文章主要介绍了基于SPRINGBOOT配置文件占位符过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 本文实例讲述了Java实现克隆的三种方式。分享给大家供大家参考,具体如下:1、浅复制(浅克隆)这种浅复制,其实也就是把被复制的这个对象的一些
- 本文实例演示了Java多线程死锁。分享给大家供大家参考,具体如下:package com.damlab.fz;public class De
- 本文实例为大家分享了java实现航空用户管理系统的具体代码,供大家参考,具体内容如下题目内容:某航空公司在其航班到达的不同的国家的不同地方设
- 本文介绍了Maven构建自己的第一个Java后台的方法,分享给大家,具体如下:1.知识后顾关于如何运用Maven构建自己的第一个项目,上期我
- 存首先初始化private SP sp;sp = new SP( context );存入数据第一个参数为上下文,第二个参数为key,第三个
- 之前的项目中,在Socket通信的时候需要传int类型的值,不过java中outputsteam貌似不能直接传int类型,只能传byte[]
- 前言设计模式在我看来更像是一种设计思维或设计思想,它就像《孙子兵法》一样,为你的项目工程提供方向,让你的项目工程更加健壮、灵活,延续生命力。
- Java数组初始化需要指定数组容量,但是在许多情况下需要动态扩充容量。有两种方法可以实现:1.采用ArrayList类数组,它可以在需要时自
- 有些情况下,在开发一些C#小项目的时候,交付给别人用的时候就是单独EXE文件,但是若涉及什么EXCEL,图片什么的时候,比较麻烦,这时候可以
- 前言最近面试时,面试官问了一个列表倒计时效果如何实现,然后脑袋突然懵的了O(∩_∩)O,现在记录一下。运行效果图实现思路实现方法主要有两个:
- 本文实例讲述了C#实现的文件上传下载工具类。分享给大家供大家参考,具体如下:这里给出的工具类是在VS2013环境下采用C#语言实现文件上传、
- 目录1.下列关于计算机系统和Java编程语言的说法,正确的是()2.变量a是一个64位有符号的整数,初始值用16进制表示为:0Xf00000