Hi Pero,
I am revisiting this thread because I realized the IE-specific code was not actually being called. I am unsure if it was ever successfully called.
Here's what I'm working with currently:
<%@ Page Language="C#" EnableViewState="False" AutoEventWireup="True" CodeBehind="HistoricalLocalSettings.aspx.cs" Inherits="CableSolve.Web.Dashboard.Dialog.Windows.HistoricalLocalSettings" %>
<!DOCTYPE html>
<html lang="en">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<telerik:RadScriptBlock ID="RadScriptBlock1" Runat="Server" >
<link rel="stylesheet" type="text/css" href="../../../Content/Dashboard/HistoricalLocalSettings.css?t=<%= DateTime.Now.Ticks %>" />
</telerik:RadScriptBlock>
<telerik:RadScriptManager ID="RadScriptManager1" Runat="server" EnablePageMethods="True">
<CompositeScript>
<Scripts>
<asp:ScriptReference Path="~/Scripts/Dashboard/HistoricalLocalSettings.js" />
<asp:ScriptReference Path="~/Scripts/jquery-1.4.1.min.js" />
</Scripts>
</CompositeScript>
</telerik:RadScriptManager>
<telerik:RadFormDecorator ID="RadFormDecorator1" Runat="server" DecoratedControls="All" Skin="Web20" />
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" UpdatePanelsRenderMode="Inline" RequestQueueSize="4">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="CheckBox1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadNumericTextBox1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="CheckBox2">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="CheckBox2" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="RadButton1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadButton1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
var radNumericTextBox1ID = "<%= RadNumericTextBox1.ClientID %>";
var radComboBox1ID = "<%= RadComboBox1.ClientID %>";
var radDateTimePicker1ID = "<%= RadDateTimePicker1.ClientID %>";
var radDateTimePicker2ID = "<%= RadDateTimePicker2.ClientID %>";
var checkBox1ID = "<%= CheckBox1.ClientID %>";
var checkBox2ID = "<%= CheckBox2.ClientID %>";
var checkBox3ID = "<%= CheckBox3.ClientID %>";
</script>
</telerik:RadCodeBlock>
<fieldset id="RefreshProperties" >
<legend>Refresh Settings</legend>
<div id="RefreshArea">
<div id="RefreshLeftSide">
Auto-Refresh Enabled:
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged" />
</div>
<div id="RefreshRightSide">
<telerik:RadNumericTextBox ID="RadNumericTextBox1" Runat="server" Label="Auto-Refresh Interval (Minutes):" MaxValue="60" MinValue="1" ShowSpinButtons="True" Value="1" Width="225px" Enabled="False" LabelCssClass="riLabel LabelDisabled" DataType="System.Int32">
<NumberFormat DecimalDigits="0" AllowRounding="False" />
</telerik:RadNumericTextBox>
</div>
</div>
</fieldset>
<fieldset id="ChartProperties">
<legend>Chart Properties</legend>
<div id="ChartArea">
<telerik:RadComboBox ID="RadComboBox1" Runat="server" Skin="Web20" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged">
<Items>
<telerik:RadComboBoxItem Runat="server" Text="Line Chart" Value="LineChart" />
<telerik:RadComboBoxItem Runat="server" Text="Pie Chart" Value="PieChart" />
</Items>
</telerik:RadComboBox>
<table>
<tr>
<td class="TimeframeRestricted">
Timeframe Restricted:</td>
<td class="TimeframeCheckbox">
<asp:CheckBox ID="CheckBox2" Runat="server" AutoPostBack="True" oncheckedchanged="CheckBox2_CheckedChanged" />
</td>
<td class="TimeframeDateTimePickers">
<telerik:RadDateTimePicker ID="RadDateTimePicker1" Runat="server" Skin="Web20" Enabled="False" Culture="en-US" EnableTyping="False">
<TimeView Runat="server" CellSpacing="-1" />
<TimePopupButton ImageUrl="" HoverImageUrl="" />
<Calendar Runat="server" Skin="Web20" UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x" />
<DateInput Runat="server" DateFormat="M/d/yyyy" DisplayDateFormat="M/d/yyyy" readonly="True" />
<DatePopupButton ImageUrl="" HoverImageUrl="" />
<ClientEvents OnPopupClosing="OnPopupClosing" OnPopupOpening="OnPopupOpening" />
</telerik:RadDateTimePicker>
</td>
</tr>
<tr>
<td class="DataPointsShown" >
<span id="HideLabelWhenDecorated">
<asp:Label ID="Label2" Runat="server" Text="Data Points Shown:" />
</span>
</td>
<td >
<span id="HideCheckBoxWhenDecorated">
<asp:CheckBox ID="CheckBox3" Runat="server" />
</span>
</td>
<td class="TimeframeDateTimePickers">
<telerik:RadDateTimePicker ID="RadDateTimePicker2" Runat="server" Skin="Web20" Enabled="False" Culture="en-US" EnableTyping="False">
<TimeView Runat="server" CellSpacing="-1"/>
<TimePopupButton ImageUrl="" HoverImageUrl=""/>
<Calendar Runat="server" Skin="Web20" UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" ViewSelectorText="x"/>
<DateInput Runat="server" DateFormat="M/d/yyyy" DisplayDateFormat="M/d/yyyy" ReadOnly="True"/>
<DatePopupButton ImageUrl="" HoverImageUrl=""/>
<ClientEvents OnPopupClosing="OnPopupClosing" OnPopupOpening="OnPopupOpening" />
</telerik:RadDateTimePicker>
</td>
</tr>
</table>
</div>
</fieldset>
<div class="BottomButton">
<telerik:RadButton ID="RadButton1" Runat="server" Skin="Web20" Text="Apply" OnClientClicked="CloseAndSave" />
</div>
</form>
</body>
</html>
function ValidateWindowState(comboBoxSelectedValue) {
var chartFieldset = document.getElementById('ChartProperties');
checkBox2 = document.getElementById(checkBox2ID);
if (comboBoxSelectedValue == "PieChart") {
document.getElementById('HideCheckBoxWhenDecorated').style.display = 'none';
document.getElementById('HideLabelWhenDecorated').style.display = 'none';
radDateTimePicker2.set_visible(false);
chartFieldset.style.height = "70px";
radDateTimePicker1.set_enabled(checkBox2.checked);
}
else if (comboBoxSelectedValue == "LineChart") {
document.getElementById('HideCheckBoxWhenDecorated').style.display = '';
document.getElementById('HideLabelWhenDecorated').style.display = '';
radDateTimePicker2.set_visible(true);
chartFieldset.style.height = "94px";
radDateTimePicker1.set_enabled(checkBox2.checked);
radDateTimePicker2.set_enabled(checkBox2.checked);
}
//IE Specific patching
if ($telerik.isIE) {
var tableFieldset = chartFieldset.parentNode;
if (tableFieldset && tableFieldset.className) {
while (tableFieldset.className.indexOf("rfdRoundedWrapper_fieldset") == -1) {
tableFieldset = tableFieldset.parentNode;
}
var previousTD = chartFieldset.parentNode.previousSibling;
var nextTD = chartFieldset.parentNode.nextSibling;
alert(comboBoxSelectedValue);
if (comboBoxSelectedValue == "PieChart") {
Sys.UI.DomElement.removeCssClass(tableFieldset, "rfdHeight94");
Sys.UI.DomElement.removeCssClass(previousTD, "rfdTD94");
Sys.UI.DomElement.removeCssClass(nextTD, "rfdTD94");
}
else if (comboBoxSelectedValue == "LineChart") {
alert("adding class");
Sys.UI.DomElement.addCssClass(tableFieldset, "rfdHeight94");
Sys.UI.DomElement.addCssClass(previousTD, "rfdTD94");
Sys.UI.DomElement.addCssClass(nextTD, "rfdTD94");
}
}
}
}
I am attempting to fix the rounded corners under just IE8. When the fieldset size changes, the table doesn't adjust. Through debugging, I was able to find that in the "IE Specific Code" section of Javascript, although tableFieldset is defined, its classname is not. The line "
if (tableFieldset && tableFieldset.className) {" is never stepped into. I am not sure why.
I played around with removing the if condition, but then the while loop starts throwing null-reference errors.
Any help would be appreciated.
Cheers,
Sean