VB.net 关于Datagridview删除行问题。

尝试使用VB.Net+DataGridview写个增删改程序。Win7+VB.NET2010+DataGridview+Dataset绑定,通过SqldataAdapte... 尝试使用VB.Net+DataGridview写个增删改程序。
Win7+VB.NET 2010 + DataGridview + Dataset 绑定,通过SqldataAdapter.update更新。
我想检查用户所编辑行有没有不符合条件的单元格,新增行有没有空单元格存在,如果存在不符合单元格或空单元格,则提示用户是否继续,如果用户点击“否”,则程序不保存用户输入结果并删除不符合条件或存在空单元格所在行。
我当前将相关代码写在Datagridview的Rowvalidating事件中,当执行删除代码时,出错提示“不能在此事件处理程序中执行操作“。请问我该如何实现删除不符合条件行。前提是,先检查所在行是否存在不符条件单元格,根据检查结果再执行相应操作。
我该在什么事件处理删除动作呢?顺便请说明一下DataGridview事件执行顺序。
请贴出具体执行代码。
谢谢

Private Sub DataGridView1_RowValidating(sender As Object, e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.RowValidating
If (Not Over_load) Then Return
If Me.DataGridView1.Rows.Count <= 1 Then Return
If Deleting Then Return
If Me.DataGridView1.SelectedRows.Count <= 0 Then Return
If Me.DataGridView1.SelectedRows(0).IsNewRow Then Return

System.Console.WriteLine("Rows Count:" & Me.DataGridView1.RowCount)
For Each Col_index As DataGridViewColumn In Me.DataGridView1.Columns
' If Me.DataGridView1.s Then
If IsDBNull(Me.DataGridView1.Rows(e.RowIndex).Cells(Col_index.Index).Value) OrElse Me.DataGridView1.Rows(e.RowIndex).Cells(Col_index.Index).Value.ToString = "" Then
' MessageBox.Show("不允许单元格为空值", "格式错误", MessageBoxButtons.OK, MessageBoxIcon.Error)
If MessageBox.Show("当前编辑行存在空值单元格,如若离开本行,程序将不会更新,是否离开?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then
e.Cancel = True
Exit For
Else
' MsgBox("ss")
' tbl.Rows(e.RowIndex - 1).Delete()
Me.DataGridView1.Rows.RemoveAt(e.RowIndex)
End If
End If
Next
End Sub
展开
 我来答
Treelab
2021-02-12 · 贡献了超过299个回答
知道答主
回答量:299
采纳率:100%
帮助的人:13.5万
展开全部

本节视频我们来聊一聊如何删除数据表的行。Treelab 官网(免费注册体验):www.treelab.com.cn

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
毅本似道
2014-07-30 · TA获得超过221个赞
知道小有建树答主
回答量:382
采纳率:0%
帮助的人:198万
展开全部
DataGridView1_RowValidated
追问
RowValidated事件貌似也是同样的错误,之前刻是有试过。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式