winformsプロジェクトに.sdfファイル(sqlceserver v3.5)を追加しました。次に、.sdfデータベースを追加し、そのデータセットモデルを選択しました。また、これにdatagridviewを追加し、スクロールペインからそのデータソースを「LogBindingSource1」として選択しました。残りのコードは自動的に生成されました。datagridviewの列を選択しました。プロジェクトを実行してグリッドから行を削除すると、変更がデータベースに反映されません。私は次のことを試みました:
Private Sub DataGridView1_UserDeletedRow(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowEventArgs) Handles DataGridView1.UserDeletedRow
For i As Integer = 0 To DataGridView1.SelectedRows.Count - 1
'Me.Database1DataSet3.log.Rows.RemoveAt(Convert.ToUInt16(DataGridView1.Rows(DataGridView1.SelectedRows(i).Index).Cells(0).Value))
'Me.LogTableAdapter1.Delete(Convert.ToUInt16(DataGridView1.Rows(DataGridView1.SelectedRows(i).Index).Cells(0).Value))
'Me.DataGridView1.Rows.RemoveAt(Me.DataGridView1.SelectedRows(i).Index)
'Dim ind As Integer = DataGridView1.SelectedRows(i).Index
Me.LogBindingSource1.RemoveAt(e.Row.Index)
DataGridView1.Refresh()
DataGridView1.Update()
'Me.LogTableAdapter1.Update(Me.Database1DataSet3.Tables(0))
Next
End Sub
私が試したすべての順列を示すためにコメントを表示しています。Logは、グリッドにバインドされているテーブルの名前であり、データベース内の単一のテーブルであることに注意する必要があります。
質問する前に、次のリソースにアクセスしました:1)https://stackoverflow.com/questions/10575169/inserting-data-from-a-datagridview-to-a-sdf-sql-database 2)https://stackoverflow。 com / questions / 10575169 / inserting-data-from-a-datagridview-to-a-sdf-sql-database(テーブルアダプターを使用しません)3)http://www.codeproject.com/Articles/24656/A-詳細-データバインディング-チュートリアル(冗長すぎる)