2017-02-07 3 views
1

У меня есть datagridview, ограниченный SQL-сервером db. Когда я сделал некоторые изменения в клетке, я могу сохранить изменения в базу данных с помощью кнопки:В vb formdesigner, как обновить таблицу подкладок от datagridview

Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click 
    Try 
     Dim dlgResult As New DialogResult 
     dlgResult = MessageBox.Show("Do you want to save the changes you made ?", "Confirmation !", MessageBoxButtons.YesNo) 
     If dlgResult = DialogResult.Yes Then 
      Try 
       Me.tblInvoicesTableAdapter.Update(Me.dsInvoices.tblInvoices) 
       MessageBox.Show("Updated successfully !", "Information :", MessageBoxButtons.OK, MessageBoxIcon.Information) 
      Catch ex As Exception 
       MsgBox(ex.ToString) 
      End Try 
     Else 
      MessageBox.Show("Update canceld !", "Information :", MessageBoxButtons.OK, MessageBoxIcon.Information) 

      'Code for undo changes to dgv 

      'some testcode - doesn't work 
      Me.dgvInvoice.RefreshEdit() 
      Me.dgvInvoice.Refresh() 
      End If 
    Catch ex As Exception 
     MessageBox.Show("Error\n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) 
    End Try 
End Sub 

Как сбросить свои изменения в Else заявления моего button_Click события?

+0

Спасибо Ohbewise, решение работает отлично! – BenCoo

ответ

0

Работая с DataTable как DataSource, вы можете просто позвонить DataTable.RejectChanges(). Согласно MSDN документации, этот метод:

Откатывает все изменения, которые были внесены в таблицу, так как он был загружен, или в последний раз AcceptChanges называли.

Смежные вопросы