I have a grid where I am using the EditFormsettings and a user control. The code looks like the following
<EditFormSettings UserControlName="~/TemplateUserControls/EditControls/GroupEditFormControl.ascx" EditFormType="WebUserControl">
<EditColumn UniqueName="GroupEditFormControl">
</EditColumn>
<PopUpSettings Modal="true" />
</EditFormSettings>
I have the client event set to call a javascript function to center the user control
<ClientSettings>
<ClientEvents OnRowDblClick="RowDblClick" OnPopUpShowing="onPopUpShowing" />
</ClientSettings>
And the Javascript looks like the following.
<script type="text/javascript">
function onPopUpShowing(sender, eventArgs) {
var myWidth = 0, myHeight = 0;
if (typeof (window.innerWidth) == 'number') {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
popUp = eventArgs.get_popUp();
var gridWidth = myWidth;
var gridHeight = myHeight;
var popUpWidth = popUp.style.width.substr(0, popUp.style.width.indexOf("px"));
var popUpHeight = popUp.style.height.substr(0, popUp.style.height.indexOf("px"));
popUp.style.left = ((gridWidth - popUpWidth) / 2) + "px";
popUp.style.top = ((gridHeight - popUpHeight) / 2) + "px";
}
</script>
The problem is no matter that values go into the Popup.style.left and popup.style.top values, the usercontrol is always in the same location. I have confirmed that the Javascript is being called by putting a few "alert" calls
For a quick test, I hard coded the top and left values (See below) to see if the user control would be at the top part of the screen
popUp.style.left = "10px";
popUp.style.top = "10px";
And the usercontrol's position did not move.
How can I center the usercontrol when using the editform function under the grid?