I have a UserControl with a Tab Control containing three tabs. Within the tabs are multiple controls – Datetimepickers, textboxes, comboboxes.
There is also a Save button which when clicked, calls this.ValidateChildren(ValidationConstraints.Enabled) Now, I click save and a geniune validation error occurs. I correct the error and then click save again – valdiation errors occur on comboboxes on a different tab. If I navigate to this tab and click save, everything works fine. How can this be? I haven’t changed any values in the comboboxes so how can the fail validation then pass validation?
The comboboxes are bound to a dataset with their selectedValue and Text set. I just don’t understand what is happening here.
This behaviour also occurs for some textboxes too. The validation rule is that they have to be a decimal – the default value is zero, which is allowed. The same thing happens, they fail validation the first time – I make no changes, click save again and they pass validation.
EDIT:
The error is not a Framework error – the error is the one I provide during my validation routine. e.g Select a valid drop down option.
I stepped through the process and the sometimes the combobox values are the default values other times the selectedvalue is the default but the text is null. I don’t see how this can happen if I’m not changing anything in the combobox.
If you need any further information please let me know
thanks
Barry
The following is a quote from MSDN:
“Controls contained in a TabPage are not created until the tab page is shown, and any data bindings in these controls are not activated until the tab page is shown.”
So I’m guessing that if before you press save the first time, you make sure that you’ve clicked on each tab at least once, it’ll work as expected, but if you don’t look at all tabs before saving, it fails?