We have an ultrawingrid that is on an ultratab. The UWG is located on the second tab. The grid is loaded in the from load event.
The UWG's first column has a checkbox header. We have a call which enables a save button in the AfterHeaderCheckStateChanged event.
When we change the tab to the second tab the AfterHeaderCheckStateChanged event is being fired.
1. Is there a better place to locate our save button call then in the AfterHeaderCheckStateChanged function?
2. What event on the grid fires the AfterHeaderCheckStateChanged event after changing tabs?
Thanks!
Justin
You might want to put a breakpoint in the AfterHeaderCheckStateChanged handler to see what is triggering the firing. From what I remember, a change in value of any of the cells in that column could cause the header check state to change, and if that is what is happening, it is functioning correctly.
If you are triggering the event, you could place the code that is causing that in a try/finally block, and set/clear a flag that signifies not to process anything in the AfterHeaderCheckStateChanged handler.
We've tried that.
This grid is loaded on the form load and at the point when we switch tabs we have no logic affecting the grid. When we added the breakpoint it does not appear that anything is triggering that event.
We are new to Infragistics controls, so sorry if we are missing something but we are stumped here.
Mark,
Selecting a different tab shouldn't cause the AfterHeaderCheckStateChanged event to fire. That event will fire when the user clicks on the check box in the header and changes its state. I am sending you a simple application which attempts to reproduce what you have described. Check it out and let me know if I am doing something drastically different from what you are doing. Maybe you could modify it to cause it to reproduce the behavior you are seeing in your own application and then send it back to me.
Let me know if I can be of further assistance.
Michael S.
Hello,
I have the same problem with my Grid and AfterHeaderCheckStateChanged event.
This event is NOT ONLY raised when user click on header checkbox.
As I myself synchronizes data, rows are checked/unchecked abnormally.
Here is the code to format column in checkbox:
G_secu:DisplayLayout:Bands[0]:Columns[pi_colonne]:Style = Infragistics.Win.UltraWinGrid.ColumnStyle:CheckBox.G_secu:DisplayLayout:Bands[0]:Columns[pi_colonne]:Header:CheckBoxVisibility = HeaderCheckBoxVisibility:Always.G_secu:DisplayLayout:Bands[0]:Columns[pi_colonne]:CellActivation = Activation:AllowEdit.G_secu:DisplayLayout:Bands[0]:Columns[pi_colonne]:CellClickAction = CellClickAction:Edit.G_secu:DisplayLayout:Bands[0]:Columns[pi_colonne]:Header:CheckBoxSynchronization = HeaderCheckBoxSynchronization:None.
Thank you
Justin,
Did you get a chance to look over the new version of the sample that I attached? Let me know if you still require assistance with this case. Otherwise I would like to close it.
Thank you for using Infragistics.
I just want to make sure we are on the same page here. I modified the sample slightly to simplify the situation. There is only one grid. It is in the second tab. When the application is first loaded the first tab is selected. When you click on the second tab you will see the grid and the AfterHeaderCheckStateChanged event fires. If you go back to the first tab and then come back to the second tab again that event does not fire.
Do you see something different? Are you saying that this event fires any time we select the second tab? I am not seeing that.
I have a Debug.Writeline in the AfterHeaderCheckStateChanged event (and one in the Form_Load event).
Let me know what you see.
Yes. When testing on the initial load it hits the "afterheadercheckedchangedevent" for the grid. When we change tabs it hits the same event again just like the problem that we are having in our code.
This sample recreates our issue. When you run this example are you not seeing the same behaviour?
Were able to download and test the sample that Charlie attached? Please let us know if you need any further assistance with this case.