SubSonic 2.1で生成されたDALオブジェクトをWinForm(VB.NET VS2005)にバインドしようとしています。 IPropertyNotifyChanged実装の欠如を回避するために、バインドする各コントロールのcontrolname.DataBindings.Add()の前に、私のバインディングメソッドでcontrolname.DataBindings.Clear()を実行しています。チェックボックス問題WinForms CheckBoxをSubSonicにバインドするDALブール
chkObsolete.DataBindings.Add(New Binding("Checked", ioBLL.ioDAL, namespace.Country.Schema.Columns.GetColumn("Obsolete").ToString, True, DataSourceUpdateMode.OnPropertyChanged))
に結合したときに
txtCountryName.DataBindings.Add(New Binding("Text", ioBLL.ioDAL, namespace.Country.Schema.Columns.GetColumn("CountryName").ToString, True, DataSourceUpdateMode.OnPropertyChanged))
しかし:
テキストボックスには、このようなコードで正常に動作(ioBLLは私のBLLオブジェクトへの参照である、とioDALその中DALプロパティに)
実行時に基になるプロパティ値がTrueの場合は、これは決して表示されません。
なぜでしょうか?
ご意見ありがとうございます。はい、ブール値です。 私はこれを書いて以来、これはSubSonicのインスタンスがVB.NETとC#の両方で動作していないのかどうか疑問に思ったので、C#DALで新しいソリューションを作成しました。これは正常に動作したので、VB.NETでDALを再作成しました。私の元のフォームまたはBLLで何かが間違っていると思わなければなりません。 BindingSourceの使用に関するご意見に興味があります。 BLLにすべてのプロパティを作成してDALから入力するか、DALプロパティにまっすぐにバインドしますか? – kevinw
私のGUIはBLLメソッドを呼び出してフェッチしたり保存したりします。BLLはMapperメソッドを呼び出し、Subsonic DALへの呼び出しを使用して自分のエンティティタイプを設定します。私のGUIは、Subsonic DALの何も知らず、自分のエンティティタイプとときどきDataTablesだけを処理します。このようなもの: GUI.bsCustomer.DataSource = BLL.CustomerBO.Fetch(新規CustomerQuery()。CustomerId.IsEqualTo(1001)) – Zapatta
ありがとうございます。 私が正しく理解していれば、私のBLL.DAL.FieldNameへの移植方法ではなく、BLL.FieldNameにバインドしています(各フィールドのプロパティをBLLレベルとDALレベルで保持しています)。 – kevinw