none
обновление БД из DataGridView RRS feed

  • Вопрос

  • На форме есть DGV к нему прицеплена таблица из dataset'a(создан визардом из access'овской БД),

     

     

      Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
    
        Me.UsersTableAdapter.Update(Me.Db1DataSet1.users)
    
      End Sub

     

     

    этот код нормально работает и БД обновляется при внесении изменений в DGV руками, 

     

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     FolderBrowserDialog1.ShowDialog()
     If (FolderBrowserDialog1.SelectedPath <> "") and (DataGridView1.RowCount > 0) Then
      DataGridView1.CurrentRow.Cells(6).Value = FolderBrowserDialog1.SelectedPath
    	 Me.UsersTableAdapter.Update(Me.Db1DataSet1.users)
     End If
      End Sub

    а вот этот код уже не работает, подскажите, где ошибка.

    Заранее благодарен.

     

     

     

     

    8 ноября 2010 г. 12:04

Ответы

  • Используйте класс BindingSource для связывания dataGridView c таблицей.

    WithEvents bs As BindingSource = New BindingSource()
    ...
    dataGridView1.DataSource = bs;
    bs.DataSource = /* таблица */;
    

    Тогда после изменения значения ячейки вызываете сначала метод EndEdit объекта BindingSource, а после уже Update для TableAdapter.

    bs.EndEdit();
    UsersTableAdapter.Update(/* таблица */)
    


    Для связи [mail]
    • Помечено в качестве ответа Abolmasov Dmitry 16 ноября 2010 г. 13:34
    10 ноября 2010 г. 6:58