データグリッドビューを使用せずにコンボボックスにバインドされているデータテーブルのデータを編集するにはどうすればよいですか?

希望的観測

主キーによってデータ テーブルにバインドされているコンボ ボックスを使用しています。ドロップダウンから値を選択することで、フォームに複数のテキストボックスを入力できます。データ テーブルに新しいレコードを簡単に追加できます。場合によっては、既存のレコードを編集する必要がありますが、テキスト ボックスに入力できても、コンボ ボックスの選択に対応する行の「インデックス」を見つけることができません。「ポインター」が指しているレコードを判別するために「データ行」で使用するメソッドはありますか? もしそうなら、そのデータ行を参照して新しいデータをデータテーブルに書き込んでから、データアダプターを使用して更新することができます...どんな助けでも大歓迎です。

jmcilhinney

あなたは存在しない問題を解決しようとしています。行または行のインデックスを知る必要はありません。あなたがすべきことは次のとおりです。

  1. あなたのバインディングDataTableBindingSource、どのあなたがデザイナーに追加します。
  2. BindingSourceあなたのComboBoxAND あなたの にバインドしますTextBoxes
  3. でレコードを選択し、必要ComboBoxに応じて で編集しTextBoxesます。
  4. 保存するときは、 を呼び出しEndEditて、BindingSource保留中の編集がDataTable.
  5. 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]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ