私はバインディングソース(コードで設定)にフックされたデータグリッドビュー、バインディングナビゲーター、およびテキストボックスを使用しています。グリッドで行を選択すると、内容がテキストボックスに表示され、すべて問題ありません。
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」イベントを処理する必要があるかもしれません...
質問をもう少し定義するのに役立つことを願っています。
助けてくれてありがとう。