开发者社区> amiba.org> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

DataGridView删除多行选中数据

简介: 思路是找到最先选择和最后选择到的行 ,弄一个for循环,根据这些行的索引值在执行数据的删除. 我这里用了EF.             DialogResult result = MessageBox.
+关注继续查看

思路是找到最先选择和最后选择到的行 ,弄一个for循环,根据这些行的索引值在执行数据的删除.

我这里用了EF.

            DialogResult result = MessageBox.Show("确定删除吗?", "删除", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)

            {
                //选中第一行的索引
                var first = dataGridView1.Rows.GetFirstRow(DataGridViewElementStates.Selected);
                //选中最后一行的索引
                var end = dataGridView1.Rows.GetLastRow(DataGridViewElementStates.Selected);
                for (int i = first; i <= end; i++)
                {
                    int p_id = int.Parse(this.dataGridView1.Rows[i].Cells["u_id"].Value.ToString());             
                    //1.0 EF 推荐删除方式 - 先查,再删
                    userinfo gf = db.userinfo.Where(u => u.u_id == p_id).FirstOrDefault();
                    //1.2 将实体对象删除(就是将 容器中的 代理对象的 State改成 Deleted)
                    db.userinfo.Remove(gf);
                }
                //1.3 将EF容器里所有的对象 根据 State 属性值,生成不同sql语句,更新到数据库
                db.SaveChanges();
                MessageBox.Show("OK");
            }
            else
            {
                return;
            }

 

PS:

DataGridView里的列有combox的话是不让你FullRowSelect=true的,这时候 

if(DataGridView.FullRowSelect=false)

{

switch(操作方法)

{

 case"点那个DataGridView中的行标题的列":

 return正常的起始和终止索引值 

break; 

 case"":

 return有问题的起始和终止索引值 --都是-1

 break; 


然后今晚博客的编辑器好像抽风了,希望更新维护之后能换个好点的编辑器吧. 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#编程-21:DataGridview清空数据
C#编程-21:DataGridview清空数据
9 0
C#编程-75:DataGridView直接修改数据库_
C#编程-75:DataGridView直接修改数据库_
8 0
C#编程-21:DataGridview清空数据
C#编程-21:DataGridview清空数据
33 0
C#编程-75:DataGridView直接修改数据库
C#编程-75:DataGridView直接修改数据库
154 0
DataGridView数据更新至数据库-整体更新
1.首先获取datagirdview的datatable DataTable dt = dataGridView1.DataSource as DataTable; 2.将其更新至数据库 public static bool UpdataSql(DataTable dt) { try {
935 0
DataGridView数据更新至数据库-逐条更新
首先判断是否存在指定记录,存在则执行更新语句,不存在则执行插入语句。主要用到三个函数: public class PubVariant { public static string strUpdateSql = "update CorrespondFields set CadField = @CadField,FieldType = @FieldType,C
996 0
为什么往dataGridView中添加数据会多一行
1、案例代码 this.dataGridView1.Rows.Clear(); if (Get_One_User(Convert.
798 0
+关注
amiba.org
垃圾聚石塔
44
文章
6
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载