2009-06-16 54 views
1

我想綁定一個SubSonic 2.1生成的DAL對象到WinForm(VB.NET VS2005)。爲了解決缺少IPropertyNotifyChanged實現的問題,在我的綁定方法中,爲每個要綁定的控件添加controlname.DataBindings.Add()之前的控件name.DataBindings.Clear()。問題綁定WinForms複選框到亞音速DAL布爾

文本框做工精細用這樣的代碼(ioBLL是引用我的BLL對象,ioDAL到其中的DAL屬性):

txtCountryName.DataBindings.Add(New Binding("Text", ioBLL.ioDAL, namespace.Country.Schema.Columns.GetColumn("CountryName").ToString, True, DataSourceUpdateMode.OnPropertyChanged)) 

,但結合到一個複選框

chkObsolete.DataBindings.Add(New Binding("Checked", ioBLL.ioDAL, namespace.Country.Schema.Columns.GetColumn("Obsolete").ToString, True, DataSourceUpdateMode.OnPropertyChanged)) 

當底層屬性值爲True時,它永遠不會在運行時出現打勾。

任何想法爲什麼?

回答

1

ioBLL.ioDAL.Obsolete是一個布爾值嗎?

我使用非常相似的代碼沒有問題。

也許唯一的區別是我使用BindingSource。

IE我在我的表單上使用了一個bindingsource,並將它的DataSource設置爲ioBLL。

我有其他問題直接控制我的實體,但我不記得你描述爲其中的一個問題。

+0

感謝您的意見。是的,這是一個布爾值。 由於我寫這個,我想知道這是否是一個SubSonic的實例與VB.NET不如C#一樣好,所以我咬緊牙關,用C#DAL創建了一個新的解決方案。這表現很好,所以我再次用VB.NET重新創建了DAL,並且它也工作正常!必須承擔我的原始形式或BLL的錯誤... 對您使用BindingSource的評論感興趣。你是否也在BLL中創建了所有屬性並從DAL中填充它們,或者像我這樣做並直接綁定到DAL屬性? – kevinw 2009-06-22 09:33:33