I have been getting reports of an odd problem for a few months now - where some of our grids seem to be acting up. I am not sure if it was a change in this most recent release or the one before that - but something has changed. Hoping you guys can help
Here is the scenario:
- We have RadGrids inside RadWindow / ContentTemplate areas on a screen.
- These grids use GridTemplateColumns with various Rad controls inside each column - e.g. RadCombobox and RadNumericTextbox
- On page load we bind data to these grids (along with other things on the main screen)
- On the OnItemDataBound event of the RadGrid - we find the controls in each column, set their values if needed - and for clientside processing we set attributes on some controls to reference other controls on the same line. For example, if the first column is a RadCombobox with two options, and the next column is a RadNumericTextbox that will display a default value when the value of the RadCombobox changes - then we get the ClientID of the RadCombobox and save it as an attribute on the RadCombobox
- Following this example - we wire up the OnClientSelectedIndexChanged of the RadCombobox - and handle the setting of the default value for the RadNumericTextbox from javascript - to make it quick and excel like... the user just tabs through the fields - and this event does something like this:
var myRadNumeric = $find(sender.get_attributes().getAttribute('myRadNumeric '));
myRadNumeric.set_value(defaultValue);
- The idea is to have the grid act more like Excel - so the user can just tab through and change data in each control
And here is the problem:
In the past this has always worked - AND still does - UNLESS the RadGrid is in a RadWindow/ContentTemplate. Oddly in this scenario the ClientIDs of the controls in the GridTemplateColumns that we read and saved from the RadGrids OnItemDataBound event CHANGES once the screen is rendered... so javascript cannot $find it...
We have found we can fix this by making a server call back after displaying the RadWindow (from javascript radopen()) - doing a Rebind() on the grid in question - at that point all ClientIDs are correct on both client and server...
I hope you followed that - it is a bit elaborate of a scenario. I believe we picked up this method of handing Excel like interactions with the RadGrid from an older Forum thread or suggestion - but we are not clear if the behavior we are seeing is