 |
|
 |
Afshin_Zavar Level: Professor

 Registered: 17-07-2003 Posts: 84
|
Re: Refresh DataSet after undeleteing a row
Sorry i didn't understand, what you meant ! but the big problem is that i always have to reFill adapter to see the changes.
I think in big queries, it may have overload to DB. So i try to find a solution
by the way, it is VB.NET
Private Sub btnReload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Handles btnReload.Click
Select Case myConnection.State
Case ConnectionState.Closed
myConnection.Open() ' try to open
Case ConnectionState.Open
myDataset.Clear() ' allready opened? then reresh
End Select
myDataAdapter.Fill(myDataset, "Employees")
With DataGridView1
.DataSource = myDataset
.DataMember = "Employees"
End With
End Sub
Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Handles btnCancel.Click
myDataset.RejectChanges()
btnReload_Click(sender, e)
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Handles btnDelete.Click
Dim currentID As Integer = 0
currentID = Me.BindingContext(myDataset, "Employees").Position
myDataset.Tables(0).Rows.RemoveAt(currentID) 'mark as deleted
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Handles btnSave.Click
Dim TempDataSet As DataSet = New DataSet()
If myDataset.HasChanges Then
Me.BindingContext(myDataset, "employees").EndCurrentEdit()
TempDataSet = myDataset.GetChanges 'read all changes
For Each dr As DataRow In TempDataSet.Tables(0).Rows
If Not dr.RowState = DataRowState.Deleted Then 'deleted row has nothing to check, so skip it
If dr("Title").ToString() = String.Empty Then
MsgBox("Title is empty")
dr.RejectChanges() ' reject only unwanted row!
End If
End If
Next
myDataAdapter.Update(TempDataSet.Tables(0))
myDataset.AcceptChanges() 'Commit changes to a dataset
btnReload_Click(sender, e)
End If
End Sub
|
____________________________
Persia
|
|
23-02-2009 at 07:48 AM |
|
|
|
|
 |
 |