[英]Bindingsource won't update after the textbox Conrol updates
我有一個表單,它的控件綁定到名為“userbindingsource”的綁定源。 當表單加載所有 bindingssource 中的值將被設置為等效的 Textbox。 但是當文本框值改變時,綁定源不會更新。 它仍然顯示第一個值
例如,加載后我更改文本框中的名字,然后單擊保存按鈕調用 saveRecord()。 當我檢查 (userBindingSource.DataSource as User) 時,它仍然包含第一個名字而沒有任何更改。
public void SaveRecord()
{
int i = 0;
User user = userBindingSource.DataSource as User;
if (user.Id > 0)
user.State = State.Modified;
using (ECarServiceClient client = new ECarServiceClient())
{
i = client.SaveUser(user);
}
}
如何使綁定源自動更新?
如果文本框綁定具有DataSourceUpdateMode.OnValidation
(默認值),並且您直接從在文本框中鍵入內容到單擊“保存”按鈕,則會在文本框驗證之前處理“保存”單擊。 驗證是使 BindingSource 更新 User 對象的原因。
解決方法是在this.Validate()
的開頭調用this.Validate()
。 這會觸發對當前表單及其所有祖先中的焦點控件的驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.