0
我搜索了很多,但我沒有找到合適的解決方案。驗證綁定,取決於點擊哪個按鈕
我有一個TextBox
,DataGridView
,s和BindingSource
。
當我點擊我的Button
「改變」我設置綁定和數據從DataGridView
加載到TextBox
,它的工作原理:
textBox.DataBindings.Add("text", bindingSource, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
現在當我點擊Button
「取消」將被清除的結合
textBox.DataBindings.Clear();
但是數據仍然轉移到DataGridView
。我想這是因爲OnPropertyChanged
。當我將其更改爲OnValidation
時,我知道只有在驗證後纔會保存它。
但我該如何驗證它或拒絕驗證?我有2 Button
s,根據是否點擊'保存'按鈕或'取消'按鈕,它應該被轉移到DataGridView
或不。
而且還與事件
textBox.Validating += textBox_Validating;
我沒有得到它運行,因爲這個函數被調用之前,我可以點擊一個按鈕。
我該如何做到這一點?
謝謝,這偉大工程:)我現在的名單使用,因爲我有更多的控制,並用foreach我讀或寫的所有值。 –
Beetee
嗨伊凡:現在我用'BeginEdit','CancelEdit'和'EndEdit'找到了接口'IEditableObject'。這與「ReadValue」和「WriteValue」類似嗎? – Beetee
Hi @Beetee,不完全。首先,它需要你的對象來實現這個接口。而且'BeginEdit'的實現應該以某種方式將所有的屬性值存儲在某個地方,以便在調用CancelEdit時能夠恢復它們。雖然上述技術沒有這樣的要求,因爲它將新值保存在控件中,並且僅在特定請求時才更新數據源。 –