C# dataGridView上下移动选中行
/*DataGridView 实现行[Row]的上下移动,我这里用到了SelectedRows[0],而没用CurrentRow是有原因的
主要是这两段代码:
dataGridView1.Rows[rowIndex - 1].Selected = true;
dataGridView1.Rows[rowIndex].Selected = false;
这两行代码大家因该都能看懂,移上去的哪行选中状态,移下去的的取消选中状态.
如果我用dataGridView1.CurrentRow.Cell[0].Value 他取得的值仍然是rowIndex索引行的值
要使用SelectedRows[0] ,就必须设置这个属性:dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
实现原理:就是上下两行,把单元格中的值进行交换...呵呵表面上看去是向上,下移动了
不知道大家还有什么好的选中方法没...请多多指教
*/
private void Form3_Load(object sender, EventArgs e)
{
//........得到DataTable的代码省略....
dataGridView1.DataSource = dt;
}
private void button1_Click(object sender, EventArgs e) //向上移动
{
int rowIndex = dataGridView1.SelectedRows[0].Index; //得到当前选中行的索引
if(rowIndex == 0)
{
MessageBox.Show("已经是第一行了!");
return;
}
List<string> list = new List<string>();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
list.Add(dataGridView1.SelectedRows[0].Cells[i].Value.ToString()); //把当前选中行的数据存入list数组中
}
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
dataGridView1.Rows[rowIndex].Cells[j].Value = dataGridView1.Rows[rowIndex - 1].Cells[j].Value;
dataGridView1.Rows[rowIndex - 1].Cells[j].Value = list[j].ToString();
}
dataGridView1.Rows[rowIndex - 1].Selected = true;
dataGridView1.Rows[rowIndex].Selected = false;
}
private void button2_Click(object sender, EventArgs e) //向下移动
{
int rowIndex = dataGridView1.SelectedRows[0].Index; //得到当前选中行的索引
if (rowIndex == dataGridView1.Rows.Count -1)
{
MessageBox.Show("已经是最后一行了!");
return;
}
List<string> list = new List<string>();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
list.Add(dataGridView1.SelectedRows[0].Cells[i].Value.ToString()); //把当前选中行的数据存入list数组中
}
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
dataGridView1.Rows[rowIndex].Cells[j].Value = dataGridView1.Rows[rowIndex + 1].Cells[j].Value;
dataGridView1.Rows[rowIndex + 1].Cells[j].Value = list[j].ToString();
}
dataGridView1.Rows[rowIndex + 1].Selected = true;
dataGridView1.Rows[rowIndex].Selected = false;
}
C# dataGridView上下移动选中行相关推荐
- Datagridview代码设置选中行后,没有触发SelectionChanged事件
不知道大家有没有遇到过这个问题,在winform开发软件的过程中,使用Datagridview代码设置选中行后,没有触发SelectionChanged事件,但是通过界面点击单元格或者选中行却是可以触 ...
- C# DataGridView控件选中行获取其值
DataGridView的几个基本操作: 1.获得某个(指定的)单元格的值: dataGridView1.Row[i].Cells[j].Value; 2.获得选中的总行数: dataGridView ...
- C#中DataGridView移除选中行
在项目开发中总会遇到DataGridview中移除多个选中行需求,而往往会遇到少删除一行问题,因为每次移除一行DataGridview数据DataGridview下标会立即改变,从而导致有些选中行未移 ...
- C# DataGridView如何获取选中行的某个数据
DataGridView的几个基本操作: 1.获得某个(指定的)单元格的值: dataGridView1.Row[i].Cells[j].Value; 2.获得选中的总行数: dataGridView ...
- datagridview后台获取选中行的值的几种方式
1.双击datagridview中的一行,后台获取改行的一个或多个列 private void dgvImport_DoubleClick(object sender, EventArgs e){st ...
- datagridview取消默认选中_Winform DataGridView 取消默认选中行
困境 网上有很多解决方法,可是很多读者照做并不生效.追究其原因,问题出现在许多博主没有搞清楚DataGridView绑定与当前触发事件的关系. 复现 private void Frm_Load(obj ...
- datagridview 获取选中行的索引
C# CODE for (int i = 0; i < this.dataGridView1.SelectedRows.Count; i++)//遍历所有选中的行 { this.dataGrid ...
- dataGridView选中行的语法
for (int i = 0; i < this.dataGridView1.SelectedRows.Count; i++)//遍历所有选中的行 {this.dataGridView1.Sel ...
- DataGridView中获取与设置当前选中行以及SelectedRows和CurrentRow注意区分
场景 DataGridView怎样实现添加.删除.上移.下移一行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10281414 ...
最新文章
- 聊天宝彻底凉了,遭罗永浩抛弃,团队就地解散
- MongoDB学习笔记(一:常见问题汇总)
- QoS是否提供更多带宽?-Vecloud
- php 函数中静态变量的问题
- linux中iptables对防火墙的操作
- 今天用Map集合写了一个字符串字符统计的程序,看集合看的头痛,就看了一下GUI,于是就随便记点。
- mysql dump锁表_mysqldump 锁表和解锁语句
- linux 卸载lv,Linux系统LVM(逻辑卷管理)的删除
- 卷积神经网络参数说明
- python列表常用方法_python 列表常用方法
- java自带的tree,最强最全的Tree命令详解
- 目标检测算法——YOLOv3
- python学习 - 52周存钱挑战
- B、KB、MB、GB、T单位换算
- ae合成设置快捷键_AE脚本使用快捷键控制关键帧操作 Keyboard v1.2.2【资源分享1449】...
- 《经济机器是怎样运行的》笔记(二)
- php微信公众平台关注后欢迎语的设置,关注公众号的欢迎语怎么设置?公众号欢迎语怎么加链接?...
- GeckoView:Mozilla面向移动浏览器打造的渲染引擎
- 嗨格式Heic图片转换器v1.0.13.1436官方版
- 一图看懂| 人工智能知识体系大全
热门文章
- 学Python人工智能有发展前景吗?人工智能就业方向有哪些?
- SprinBoot集成disConf的过程梳理
- 有哪些高性价比的LoRa模块?
- HTML+CSS网页设计期末课程大作——运动系列NBA篮球主题(7页) 大学生运网页作品 篮球设计作业模板
- 毕业论文中的“自动生成目录”设置(经验四)
- Unable to preventDefault inside passive event listener due to target being treated as passive 怎么办?
- Kubernetes原生CI/CD构建框架Tekton详解
- Datawhale NLP入门:Task5 基于深度学习的文本分类2
- 基于python的情感分析案例-python自然语言处理情感分析案例
- 个人对于区块链技术的理解