主キーによってデータ テーブルにバインドされているコンボ ボックスを使用しています。ドロップダウンから値を選択することで、フォームに複数のテキストボックスを入力できます。データ テーブルに新しいレコードを簡単に追加できます。場合によっては、既存のレコードを編集する必要がありますが、テキスト ボックスに入力できても、コンボ ボックスの選択に対応する行の「インデックス」を見つけることができません。「ポインター」が指しているレコードを判別するために「データ行」で使用するメソッドはありますか? もしそうなら、そのデータ行を参照して新しいデータをデータテーブルに書き込んでから、データアダプターを使用して更新することができます...どんな助けでも大歓迎です。
あなたは存在しない問題を解決しようとしています。行または行のインデックスを知る必要はありません。あなたがすべきことは次のとおりです。
DataTable
にBindingSource
、どのあなたがデザイナーに追加します。BindingSource
あなたのComboBox
AND あなたの にバインドしますTextBoxes
。ComboBox
に応じて で編集しTextBoxes
ます。EndEdit
て、BindingSource
保留中の編集がDataTable
.DataTable
最初にデータを入力したときと同じデータ アダプタを使用して、変更を保存します。バインディングは次のようになります。
myDataAdapter.Fill(myDataTable)
myBindingSource.DataSource = myDataTable
With myComboBox
.DisplayMember = "DisplayColumn"
.ValueMember = "PKColumn"
.DataSource = myBindingSource
End With
myTextBox.DataBindings.Add("Text", myBindingSource, "EditColumn")
節約は次のようになります。
myBindingSource.EndEdit()
myDataAdapter.Update(myDataTable)
すべての変更を保存するだけなDataTable
ので、どの行が編集されたか、およびそれらがどこにあるかを気にする必要はありませんUpdate
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加