[VB.NET]如何取消对DataGridView的编辑返回编辑前的值?

VB.NET源码-156个实用实例哦…… <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
如何取消对DataGridView的编辑返回编辑前的值?
对DataGridView的某个或者多个单元格做了编辑(没有Update数据库),如何取消对这些单元格的编辑,使得它的值返回编辑前呢?

急,在线等!
__________________________________________________________________________
up
__________________________________________________________________________
如果DataGridView是绑定到dataset的,那保存先前的dataset到一个私有变量,取消编辑就是重新设置DataGridView的datasource
__________________________________________________________________________
如果数据源是DataTable,且没有调用AcceptChanged方法,那么可以调用DataTable.RejectChanges 方法来取消更改。
__________________________________________________________________________
晕死,去年的帖子,还有分得吗?举个例子,如果输入的是“abcd”则弹出提示框,并取消刚才的编辑

VB.NET code
''在CellEndEdit事件中还原,不过只能针对一个,不能针对一批,by guoruixing
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
If DataGridView1.CurrentCell.Value.ToString = "abcd" Then
MsgBox("错误")
DataGridView1.CancelEdit() ''取消刚才的编辑,by guoruixing
Exit Sub
End If
End Sub
__________________________________________________________________________
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB.NET中,可以使用DataGridView控件的CellMerge事件来合并单元格。 首先,在窗体的设计器视图中添加一个DataGridView控件。 然后,在代码视图中,使用以下代码将DataGridView的CellMerge事件与一个自定义的事件处理程序相关联: ``` Private Sub DataGridView1_CellMerge(sender As Object, e As DataGridViewCellMergeEventArgs) Handles DataGridView1.CellMerge ' 自定义的合并单元格逻辑 ' TODO: 在这里编写合并单元格的代码 End Sub ``` 接下来,在自定义的事件处理程序中,您可以使用以下代码来合并单元格: ``` Private Sub DataGridView1_CellMerge(sender As Object, e As DataGridViewCellMergeEventArgs) Handles DataGridView1.CellMerge ' 获取当要合并的单元格 Dim cell1 As DataGridViewCell = DataGridView1.Rows(e.RowIndex1).Cells(e.ColumnIndex1) Dim cell2 As DataGridViewCell = DataGridView1.Rows(e.RowIndex2).Cells(e.ColumnIndex2) ' 根据需要的合并方式进行处理 ' 例如,如果要按行合并,可以将该行中的所有单元格的设置为相同的 For i As Integer = e.RowIndex1 To e.RowIndex2 DataGridView1.Rows(i).Cells(e.ColumnIndex1).Value = cell1.Value Next ' 将单元格设为不可见,以实现合并效果 cell2.Visible = False ' 确定合并后的单元格的,这是可选的 ' 您可以根据需要对合并后的单元格进行自定义操作 Dim mergedValue As String = cell1.Value ' TODO: 在这里处理合并后的单元格的 End Sub ``` 在上面的代码中,我们首先获取了要合并的单元格,并根据需要的合并方式进行处理。最后,将要合并的单元格设为不可见,以实现合并效果。您还可以根据需要对合并后的单元格进行自定义操作。 注意:合并单元格的具体逻辑会根据您的需求而有所不同。以上代码只是一个示例,您可能需要根据自己的需求进行适当的修改

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值