tags:

views:

23

answers:

0

Assuming that the buttons are being clicked in order, the following code modifies row 1 in a .net DataSet, then row 0. HasChanges returns true, but GetChanges only gives me the change for row 0.

If I comment out the line in the button2 click event that modifies row 0, then HasChanges returns false.

Can anyone explain to me why HasChanges() and GetChanges() only return true when they are called in the same function as the change to the DataSet, and more importantly how to get around that?

Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    __ds1.Tables(0).Rows(1)("EmployeeName") = "TestStuff"
End Sub

Protected Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    __ds1.Tables(0).Rows(0)("EmployeeName") = "TestStuff"
    If __ds1.HasChanges(DataRowState.Modified Or DataRowState.Added) Then
        __ds2 = __ds1.GetChanges(DataRowState.Modified _
           Or DataRowState.Added)
        GridView3.DataSource = __ds2.Tables("Users").DefaultView
        GridView3.DataBind()
    Else

    End If
End Sub