删除DataGridView选中行并更新数据库
DataGridView在与数据库打交道时会经常出现,也很实用。通过DataGridView对数据库进行更改和查询都比较方便。
这里我们需要用DataGridView数据,并通过选中行将数据从数据库中删除。
其原理是把选中记录的主键提取出来,然后传给实体,通过实体给D层传值实现对数据库的修改。
DialogResult result = MessageBox.Show("是否要修改当前行中单元格的内容?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
if (this.dataGridView.SelectedRows.Count > 0)
if (result == DialogResult.Yes)
//修改当前行单元格的内容
Entity.UserInfo deleteuser = new Entity.UserInfo()
for (int i = this.dataGridView.SelectedRows.Count
deleteuser.UserID = Convert.ToInt32(dataGridView.SelectedRows[i - 1].Cells[0].Value)
if (deleteuser.UserID == Convert.ToInt32(Entity.StaticUser.UserName))
MessageBox.Show("当前用户已登录,不能删除!", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
return
//调用后台方法删除数据库
Facade.frmAdmUserFacade facade = new Facade.frmAdmUserFacade()
bool resul = facade.DeleteUser(deleteuser)
//删除datagridview表中行
this.dataGridView.Rows.RemoveAt(dataGridView.SelectedRows[i - 1].Index)
MessageBox.Show("删除成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Question)
MessageBox.Show("未选中单元格", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
return
这样很好用,就是一点不方便,这么写只能在绑定数据源的前提下删除datagridview,当我们把List集合的值赋给datagridview显示再用以上代码删除就会报如下错误
所以,这个时候代码就得改写了:
在List中删除数据,后重新绑定控件,
因为还要求删除数据库中数据,所以,直接获取选中行的第一列id,删除数据库中数据,然后调用combobox重新获取数据库中信息即可成功显示删除后的列表。
DialogResult result = MessageBox.Show("是否要修改当前行中单元格的内容?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
if (this.dataGridView.SelectedRows.Count > 0)
if (result == DialogResult.Yes)
//修改当前行单元格的内容
Entity.UserInfo deleteuser = new Entity.UserInfo()
for (int i = this.dataGridView.SelectedRows.Count
deleteuser.UserID = Convert.ToInt32(dataGridView.SelectedRows[i - 1].Cells[0].Value)
if (deleteuser.UserID == Convert.ToInt32(Entity.StaticUser.UserName))
MessageBox.Show("当前用户已登录,不能删除!", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
return
//调用后台方法删除数据库
Facade.frmAdmUserFacade facade = new Facade.frmAdmUserFacade()
bool resul = facade.DeleteUser(deleteuser)
//删除datagridview表中行
//this.dataGridView.Rows.RemoveAt(dataGridView.SelectedRows[i - 1].Index)
//重新获取数据库
comboLevel_SelectedIndexChanged(sender, e)
MessageBox.Show("删除成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Question)
MessageBox.Show("未选中单元格", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
return
做的修改是for循环里删除了一句话,并在循环完成后加了一行语句。
然后成功!
删除DataGridView选中行并更新数据库DataGridView在与数据库打交道时会经常出现,也很实用。通过DataGridView对数据库进行更改和查询都比较方便。 这里我们需要用DataGridView数据,并通过选中行将数据从数据库中删除。 其原理是把选中记录的主键提取出来,然后传给实体,通过实体给D层传值实现对数据库的修改。源码: DialogResult r
核心代码:
If MsgBox("您确定要删除选择的数据吗? ", MsgBoxStyle.Question + MsgBoxStyle.OkCancel, "温馨提示") = 1 Then
Dim str As String = String.Empty
Me.DataGridView1.ReadOnly = True
Dim tempIndex As Integer = DataGridView1.FirstDisplayedScrollingRowIndex
For i As Integer = Me.DataGridView1.Rows.Count - 1 To 0 Step -1
Dim cbx As DataGridViewCheckBoxCell = DirectCast(Me.DataGridV
DataGridView导入一个xls表格,如下图:
现在想将以上表格数据插入数据库,之前是想每成功插入一行数据就在DataGridView里删除一行(即让这行不显示),
没有成功插入的不删除(即显示在DataGridView里)
1 foreach (Data...
一、实现的功能:可以删除一行或者多行数据,并在删除前提醒是否确定进行删除!
DialogResult RSS = MessageBox.Show(this,"确定要删除选中行数据码?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
1、在DataGridView中添加查询,写上查询文本
2、选中一行进行删除,需获取要删除的条件 user.UserID = this.dataGridView1.SelectedCells[0].Value.ToString();这里的SelectedCells[0]就是对应的账号的数据
3、删除成功后,DataGridView自动移除刚删除的行 dataGridView1.Rows.Remo
欲将下图表格中的若干行数据在界面上删除,同时相应删除MySQL内的数据。本文所述的方法适用于单行或多行(相邻或分散)数据的删除~~~
解决思路+代码实现
1.编写表内容删除的MySQL语句
2.获取鼠标选中行的编号
3.通过一个for循环依次将选中数据删除
//定义计数值
int count = 0;
//连接数据库,我这里连接数据库的方
一、无条件的删除行
默认时,DataGridView是允许用户进行行的删除操作,选中要删除的行,按Delete键可以删除,该操作没有任何提示(只是删除界面显示的数据,不会真实删除数据库中的数据)。如果设置DataGridView对象的AllowUserToDeleteRows属性为False,用户将被禁止删除行。
示例:禁止DataGridView删除行
1 this.dgv_PropDemo....