DataBindingSource CancelEdit

Hello,

I have a form that has about 10 different controls (such as textboxes and comboboxes).  When the user attempts to BindingSource.MoveNext or BindingSource.MovePrevious, it checks to see if any changes were made and if so a MsgBox appears with "Yes", "No", or "Cancel".  When the user clicks "No" I call BindingSource.CancelEdit and DataSet.RejectChanges.  My problem comes when the user returns to the record and it still displays all the previous entered data (that was rejected).  How do I refresh that data, so it returns to the original values.

So for example:  The form loads and the first textbox contains "Value1".  I then change that to "Value2".  I move records, and when requested wether to save the data or not, i choose "No".  I then move back to the record I was just working on, but despite cancelling the edit and rejecting the changes the first textbox is still set to "Value2" - How do i set it so it's "Value1" instead?
Me.AdapterManager.UpdateAll(Me.DataSetManager)
Me.DataSetManager.RejectChanges()

Open in new window

Gunit2507Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

wht1986Commented:
Well I ran a quick example, but I did not have this problem.  My form has a typed dataset, 4 textboxes, and a binding source (as shown in the picture).  The code below after prompting, rejects or accepts the changes and moves the CurrentPosition. Perhaps you can see something your code is missing from the example
Imports System.IO
Imports System.DirectoryServices
Imports System.Linq
Imports System.Data.Linq
Imports System.Management
 
Public Class Form1
 
    Private oldPosition As Integer = -1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataSet11.DataTable1.AddDataTable1Row("hello", "Bob", "Bobson")
        DataSet11.DataTable1.AddDataTable1Row("goodbye", "Michael", "Jackson")
        DataSet11.DataTable1.AddDataTable1Row("hail", "fellow", "adventurer")
        DataSet11.AcceptChanges()
    End Sub
 
 
    Private Sub BindingSource1_PositionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingSource1.PositionChanged
 
        If oldPosition > -1 Then
            If DataSet11.DataTable1.Rows(oldPosition).RowState = DataRowState.Modified Then
                If (MessageBox.Show(Me, "Accept?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No) Then
                    DataSet11.DataTable1.Rows(oldPosition).RejectChanges()
                    BindingSource1.Position = oldPosition
                    Return
                End If
            End If
            DataSet11.DataTable1.Rows(oldPosition).AcceptChanges()
        End If
 
        oldPosition = BindingSource1.Position
 
    End Sub
 
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        BindingSource1.MoveNext()
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        BindingSource1.MovePrevious()
    End Sub
End Class

Open in new window

Capture.JPG
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Gunit2507Author Commented:
After spending about an hour researching this "problem" and then finally giving up and asking experts exchange to only find out I wasn't calling my code because the button handle event was incorrect.  Thanks a lot!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.