2013-07-31 61 views
0

我有一個VB.NET窗體,我添加了一個複選框。 我使用數據綁定此複選框,按如下:VB.NET - 在失去焦點時丟失檢查值的複選框

txtID.DataBindings.Clear() 
txtID.DataBindings.Add("Text", ds.Tables(0), "ID") 

Dim MyID As New Binding("Checked", ds.Tables(0), "UserID") 
AddHandler MyID.Format, AddressOf chkFormatter 
AddHandler MyID.Parse, AddressOf chkParser 
chkID.DataBindings.Add(MyID) 

如果我檢查檢查細框,但一旦我點擊到其他領域,該複選框失去了檢查。

任何人都可以幫助我理解爲什麼請嗎?

我有相同的方式使用數據綁定的窗體上的其他複選框,他們工作正常。

謝謝

回答

0

瞭解您綁定身份識別碼爲「用戶ID」,因此是「用戶ID」一個布爾字段?

如果是的話,是否有任何代碼更新此字段從其他手段?

+0

是的,並且不會在別處更新。我實際上搜索了複選框的所有實例,並且在保存按鈕後面的1個條目之外沒有找到它,我將值傳遞給更新函數。 –

+0

嘗試使用New Binding(「Checked」,ds.Tables(0),「UserID」,True,DataSourceUpdateMode.OnPropertyChanged),如果仍然沒有運氣,則可以處理chkbox.LostFocus事件以監視數據綁定狀態:底層對象/ datarow的UserId值 – Rex