1

注文データ テーブルに保存するフォームがあります。フォームのいくつかのフィールドは、顧客名と住所の詳細を含むテーブルにリンクされています。注文データ テーブルの配送業者名フィールドはコンボ ボックスです。名前を選択すると、その名前に対応する住所情報が、注文データ テーブルの住所、都市、電話番号フィールドに属するテキスト ボックスに表示されます。そのために、そのフィールドにはコンボボックス コントロールの databinding プロパティを使用し、テキスト ボックスには Text プロパティを使用しています (shipperdata と呼ぶソース テーブルへのバインディング)。フォームを実行すると、必要な情報が表示されます。 .

問題: フォームを保存すると、荷送人の名前が正常に保存されます。ただし、荷送人名に関連する他のフィールドはそうではありません。binding プロパティでは、テキストボックスの内容を注文データテーブルにバインドできないことに気付きました。

私はデザイナーに入り、コンボボックスがソースにバインドでき、テキストを注文データテーブルにバインドできれば、テキストボックスでそれを行うことができるはずだと考えて、実験を試みようと考えました。右?どうやらそれほどではないようです。これが私が試したことです:

'Shipper1address1TextBox
        '
        Me.Shipper1address1TextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.ShippersBindingSource, "SHIPPERADDRESS1", True))
        Me.Shipper1address1TextBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.OrdersBindingSource, "shipper1address1", True))
        Me.Shipper1address1TextBox.Location = New System.Drawing.Point(188, 429)
        Me.Shipper1address1TextBox.Name = "Shipper1address1TextBox"
        Me.Shipper1address1TextBox.Size = New System.Drawing.Size(200, 20)
        Me.Shipper1address1TextBox.TabIndex = 32

2 つのプロパティをバインドできないというエラーが表示されました。

おもしろい点: フォームは実際には「詳細」であるため、既に設定したものの横に datagridview をドラッグして、どのように見えるかを確認することにしました。詳細ビューでは、データが注文データ テーブルに正しく保存されていると思います。しかし、グリッドビューで表を見てみると、住所や電話番号などの値が書かれていませんでした。それから、荷送人データテーブルにのみバインドされていることを思い出しました。

私の質問: ソースにバインドしながら、対応する住所と電話番号の情報を注文テーブルに保存して表示するにはどうすればよいですか? 注文データ テーブルへのバインド プロパティを作成すると、それで問題ありませんが、住所情報は表示されません。テキストボックスでこれを達成する方法はありますか? また、この時点で、デザイナーをいじるのはおそらく良い考えではないと推測しています。多分代替案?データ テーブルのテキスト ボックスに含まれる値が保存されないのは奇妙に思えます。

ご覧いただきありがとうございます。

4

1 に答える 1

0

各テキスト ボックスに追加できるデータ バインディングは 1 つだけです。コードに2つ追加しています.......

Me.Shipper1address1TextBox.DataBindings.Add

ArronG.

于 2014-02-15T19:37:19.223 に答える