C#中DataGridView移除选中行
在项目开发中总会遇到DataGridview中移除多个选中行需求,而往往会遇到少删除一行问题,因为每次移除一行DataGridview数据DataGridview下标会立即改变,从而导致有些选中行未移除,以下为删除代码:
定义一个全局DataTable
private DataTable _dtData;
//查询数据库数据返回DataTable赋给_dtData,相信程序员都会,将_dtData绑定到DataGridView上
this.DataGridView1.DataSource=_dtData;
窗体如下图:
这个 DataGridView手动添加两列一列“选择”列为DataGridViewCheckBoxColumn类型,相信大家都会添加,不解释了
DataGridView显示完数据后,选中几行,加一个按钮事件(作为删除测试)
事件中代码如下:
int rowCount = this.DataGridView1.Rows.Count;//保持循环行数不变
int k = 0;//标记减少的行数
for (int i = 0; i < rowCount; i++)
{
object obj = this.DataGridView1.Rows[i-k].Cells[0].Value;//获取选中行的值i-k保持行下标不变
if (obj != null && obj.ToString() == "True")//True必须这样写 不能写成true
{
int rowIndex = this.DataGridView1.Rows[i-k].Cells[0].RowIndex;//原来的行下标
DataRow row = (this.DataGridView1.Rows[rowIndex].DataBoundItem as DataRowView).Row;
_dtData.Rows.Remove(row);
k++;//减少的行数加1
}
}
C#中DataGridView移除选中行相关推荐
- Datagridview代码设置选中行后,没有触发SelectionChanged事件
不知道大家有没有遇到过这个问题,在winform开发软件的过程中,使用Datagridview代码设置选中行后,没有触发SelectionChanged事件,但是通过界面点击单元格或者选中行却是可以触 ...
- C# dataGridView上下移动选中行
/*DataGridView 实现行[Row]的上下移动,我这里用到了SelectedRows[0],而没用CurrentRow是有原因的 主要是这两段代码: dataGridView1. ...
- 获取GridView中RowCommand的当前选中行的索引或主键Id
获取GridView中RowCommand的当前索引行 前台添加一模版列,里面添加一个LinkButton 前台 (如果在后台代码中用e.CommandArgument取值的话前台代码就必须在按钮中设 ...
- C# DataGridView控件选中行获取其值
DataGridView的几个基本操作: 1.获得某个(指定的)单元格的值: dataGridView1.Row[i].Cells[j].Value; 2.获得选中的总行数: 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 ...
- ext 中checkbox 无法取消选中行,全选按钮全选问题
1.ext 中checkbox 在选中几个记录时,在单击选中的一行记录,其他选中行会消失的问题,及全选框该不该选中的问题,将下面代码复制到项目中(可能会出现点击gridpanel 的行的时候,无法选中 ...
- datagridview取消默认选中_Winform DataGridView 取消默认选中行
困境 网上有很多解决方法,可是很多读者照做并不生效.追究其原因,问题出现在许多博主没有搞清楚DataGridView绑定与当前触发事件的关系. 复现 private void Frm_Load(obj ...
- 【C#语言】DataGridView修改选中行颜色
在项目实践过程中,需要修改选中行的颜色,以满足客户的需求. 事件 重新绘制行的颜色 RowPrePaint. 属性 获取或设置行的默认样式,除非重写默认样式,否则将用它们来呈现行中的单元格. publ ...
最新文章
- SBB:pH主导土壤中固氮群落的共存与装配
- linux_tomcat
- Matab 读取修改 XML
- 设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
- 裸奔浏览器_【大数据早报】上网=“裸奔”?单凭浏览器历史记录就能锁定身份...
- python模拟qq空间登录_模拟登录QQ空间
- Android 第十四课 使用LitePal添加数据(更新数据)
- 荣耀30S首发新一代神U麒麟820 5G:GeekBench得分媲美骁龙855
- Python学习—2048小游戏等4个小练习
- TCP/IP参考模型入门
- 项不会计算为接受 0 个参数的函数_玩转excel函数:详解四种计数函数,从基础到提高...
- C#WinForm实现对前一篇文章中的SFTP工具类的使用
- 错误:形状数与表记录数不匹配
- 2022BUAA数据结构期末大作业的一些想法
- java shiro_shiro(java安全框架)
- python画超长图-python实现按长宽比缩放图片
- Prometheus技术系列文章——prometheus调研总结
- SA与OOA的区别,个人理解
- 深度盘点:Python 变量类型转换的 6 种方法
- 什么是内存屏障?,为什么需要内存屏障?