これは単純なはずですが動作しません。私はテーブル・アダプターとバインディング・ソースを介してデータベースによって取り込まれているコントロールを持つ単純なフォームです。 Form_Loadイベントのコードは次のとおりです。ユーザーがコントロールを更新するときにバインディングソースが更新されない(VB.NET Winforms)
Me.DS_Phantom_Location_taLocation1.Fill(Me.DS_Phantom_Location1.dtLocation, CType(resultnum, Integer))
bsLocation.DataSource = Me.DS_Phantom_Location1.dtLocation
この部分は正常に動作し、コントロールはデータベース内のデータで更新されます。
ユーザーが[OK]ボタンをクリックすると、データベースは更新されるはずですが、それは起こっていません。
コードはここにある:
Me.bsLocation.EndEdit()
Me.DS_Phantom_Location_taLocation1.Update(DS_Phantom_Location1.dtLocation)
私は、DataRowを基礎となるのBindingSourceがされていないことを更新見てから知っている - これはbtnok_clickイベント内でも次のとおりです。
Dim drv As DataRowView = TryCast(Me.bsLocation.Current, DataRowView)
Dim dr As DataRow = drv.Row
s = dr("INSTITUTION_DOSE").ToString
sがまだありますデータベースからの古い値。
bsLocationが更新されないようです。私は、コントロールのcausevalidation = trueとコントロールがデータバインドされていることを確認しました。
この時点で、私はバインディングソースのアイデアを破棄してテーブルアダプタを使用して直接更新する以外に何をすべきか分かりません。私はこの作品を知っていますが、理想的ではありません。 (私のプロジェクトが持っている)。どんな助けやアイデアも素晴らしいでしょう。 Ty