|
分類:[VB.NET/VB2005 以降]
別の質問ではお世話になりました。
どうしても自力では解決できないため、質問させていただきます。
FormにListboxを配置し、DataTableをDataSourceとしています。 さらにLabel、TextBoxを配置し、DataTableの各フィールドをバインドしています。
Labelにバインドしたフィールドは更新不可フィールド(IDなど)、TextBoxについては、入力しDBに更新または新規登録するという仕様です。
既にDataTableに含まれるレコードの更新は成功したのですが、新規登録した際にListBoxへ反映はされますが、なぜか変更していないレコードがListBoxから消え新しく追加されてしまいます。 また、バインドしているID(オートナンバー)との紐付きも、消えてしまったレコードのIDが出てきてしまいます。
これを解決するために、更新または新規登録後にDataTableに再度DBからデータを取得することを行いましたが、TextBoxとLabelにバインドされているにも関わらず何も表示されなくなりました。 ListBoxも同様にDataSourceとしていますが、空白行が一行できるのみで何も表示されません。
バインドされているDataTableの更新(再取得)はどのようにしたら良いでしょうか? またバインドされているDataTableに新規で追加した場合、Row.RowStateはAddedになりますが、その場合のIDはどうなるのでしょうか?
|