BindingSourceについてちょっと調べた。
職場でBindingSourceについてせつめいすることになり、ちょっと調べた。
まず、DataBindingという、データとUIとを紐づける機能を実現するのが、BindingSourceクラス。これは、ADO.NETがDBアクセスを隠ぺいするのに対して、データの操作を隠ぺいするものと考えるとよさそう。いちいち、今は何個目のデータを触っていて、全部でいくつあって、と考えるのではなく、毎回BindingSourceに放り込めばいつでも同じように、データの操作が実現できますよ。というようなもの。
で、そう考えると、ちょっとDataSetをBindした際に、DataRowではなく、DataRowViewであること。なぜ、DataRowじゃない、、、。というのをすっきり解決されたのが、一番下のリンクの記事。
Windowsフォームにおける「データ・バインディング」 − @IT
BindingSourceのCurrentプロパティを型安全に取得するための拡張メソッド | be free
確かに、こうやればワンクッション置かなくてもDataRowが取れる。
勉強になりました。
こうすれば、画面の操作、とデータの操作、DB操作が綺麗に分かれていきそうで晴れ晴れとしたきぶんになりました。