1

私はバインディングソース(コードで設定)にフックされたデータグリッドビュー、バインディングナビゲーター、およびテキストボックスを使用しています。グリッドで行を選択すると、内容がテキストボックスに表示され、すべて問題ありません。

txtQty.DataBindings.Add("Text", bsInvoiceDetails, "Detail_Quantity");

次に、バインディング ナビゲーターの [追加] をクリックします。データグリッドに空白行が追加されますが、テキスト ボックスはクリアされません。グリッドで強調表示されている行は別の行です。新しい行を手動で選択しても、テキスト ボックスは変更されません。

グリッドで新しい行を選択してテキストボックスに入力すると、実際には別の行の値が変更されます。

なぜこれが私たちの修正方法なのかわかりません。

  • ヘルプ

アップデート:

クエリを実行し、データテーブルを返しました...それをデータセットに添付しました...データセットはバインディングソースのデータソースです...

dsInvoiceDetails = new 
dsInvoiceDetails.Tables.Add(dtInvoiceDetails);

bsInvoiceDetails.DataSource = dsInvoiceDetails;
bsInvoiceDetails.DataMember = "Invoice_Detail";

グリッドとバインディング ナビゲーターをバインディング ソースにフックするコード...

gridInvoiceDetails.DataSource = bsInvoiceDetails;
bnInvoiceDetails.BindingSource = bsInvoiceDetails;

バインディング ソースは、グリッド行が選択されると、上のテキスト ボックスに「自動的に」入力します。完璧に動作します。

バインディング ナビゲーターには、行を追加するためのクールなボタンがあります。それをクリックしてください。グリッドに行を追加します。偉大な。しかし、新しい行が選択されても、バインドされたテキスト ボックスは何も変わりません。

バインディングソースで「AddingNew」イベントを処理する必要があるかもしれません...

質問をもう少し定義するのに役立つことを願っています。

助けてくれてありがとう。

4

1 に答える 1