This is a migrated thread and some comments may be shown as answers.

[Solved] RADGrid with filtering and Radcombo, JS Error: Unknown runtime error

1 Answer 99 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Martin Griffiths
Top achievements
Rank 1
Martin Griffiths asked on 18 Sep 2009, 02:01 PM
I'm having a bit of a cow with 2009 R2 of asp.net controls. The problem seems to be specific to IE8 (developer mode set to IE8 Standards). Changing it to IE7 the problem goes away!

To throw the error i have to select a comboxbox twice and then click into one of the filter fields...number (id) or dob, strangely forenames and surname is fine! Anyway, I get the following error...

Line: 465
Error: Unknown runtime error

If i debug the telerik JS it fails on this line

465: this._textBoxElement.select();

Please review the following code, this is mostly taken from the online demos!

the code behind uses a simple datatable as the datasource which I bound using RadGrid1_NeedDataSource (again as in demo)

<

 

form id="form1" runat="server">

 

 

 

<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">

 

 

 

<script type="text/javascript">

 

 

<!--

 

function RowSelected(sender, args) {

 

document.getElementById(

 

"<%= Label1.ClientID %>").innerHTML = "<b>ID: </b>" + args.getDataKeyValue("number");

 

}

-->

 

 

</script>

 

</telerik:RadCodeBlock>

 

<asp:ScriptManager ID="ScriptManager1" runat="server">

 

</asp:ScriptManager>

 

<!-- content start -->

 

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">

 

<AjaxSettings>

 

<telerik:AjaxSetting AjaxControlID="RadGrid1">

 

<UpdatedControls>

 

<telerik:AjaxUpdatedControl ControlID="RadGrid1" />

 

</UpdatedControls>

 

</telerik:AjaxSetting>

 

</AjaxSettings>

 

</telerik:RadAjaxManager>

 

 

<telerik:RadCodeBlock runat="server" ID="radCodeBlock">

 

<script type="text/javascript">

 

function showFilterItem(){

$find(

 

'<%=RadGrid1.ClientID %>').get_masterTableView().showFilterItem();

}

 

 

function hideFilterItem(){

$find(

 

'<%=RadGrid1.ClientID %>').get_masterTableView().hideFilterItem();

}

 

 

</script>

 

</telerik:RadCodeBlock>

 

<div>

 

 

Show filtering item

<input id="Radio1" type="radio" runat="server" name="showHideGroup" checked="true" onclick="showFilterItem()" /><label for="Radio1">Yes</label>

 

 

<input id="Radio2" type="radio" runat="server" name="showHideGroup" onclick="hideFilterItem()"/><label for="Radio2" >No</label>

 

</div>

 

<br/>

 

<telerik:RadGrid AutoGenerateColumns="false" ID="RadGrid1"

 

Width="760px" AllowFilteringByColumn="True" AllowSorting="True"

 

PageSize="15" ShowStatusBar="true" ShowFooter="True" AllowPaging="True" runat="server"

 

GridLines="None" EnableLinqExpressions="false" OnNeedDataSource="RadGrid1_NeedDataSource">

 

<PagerStyle Mode="NextPrevAndNumeric" />

 

<ClientSettings EnableRowHoverStyle="true">

 

<Selecting AllowRowSelect="True" />

 

<ClientEvents OnRowSelected="RowSelected" />

 

</ClientSettings>

 

<GroupingSettings CaseSensitive="false" />

 

<MasterTableView AutoGenerateColumns="false" EditMode="InPlace" AllowFilteringByColumn="True"

 

ShowFooter="True" TableLayout="Auto" AllowMultiColumnSorting="true" ClientDataKeyNames="number">

 

<Columns>

 

<telerik:GridNumericColumn DataField="number" AutoPostBackOnFilter="true" HeaderText="id" SortExpression="number"

 

UniqueName="number" FilterControlWidth="40px" CurrentFilterFunction="equalto" ShowFilterIcon="true">

 

</telerik:GridNumericColumn>

 

<telerik:GridBoundColumn FilterControlWidth="50px" DataField="title" HeaderText="title" SortExpression="title"

 

UniqueName="title" CurrentFilterFunction="Contains">

 

<FilterTemplate>

 

<telerik:RadComboBox ID="RadComboBoxTitle" DataTextFormatString="" DataTextField="title"

 

DataValueField="title" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("title").CurrentFilterValue %>'

 

runat="server" OnClientSelectedIndexChanged="TitleIndexChanged">

 

<Items>

 

<telerik:RadComboBoxItem Text="All" />

 

<telerik:RadComboBoxItem Text="Mr" Value="Mr" />

 

<telerik:RadComboBoxItem Text="Mrs" Value="Mrs" />

 

<telerik:RadComboBoxItem Text="Ms" Value="Ms" />

 

<telerik:RadComboBoxItem Text="Miss" Value="Miss" />

 

<telerik:RadComboBoxItem Text="Dr" Value="Dr" />

 

</Items>

 

</telerik:RadComboBox>

 

 

<telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">

 

 

<script type="text/javascript">

 

 

function TitleIndexChanged(sender, args) {

 

 

var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");

 

tableView.filter(

 

"title", args.get_item().get_value(), "EqualTo");

 

}

 

 

</script>

 

 

</telerik:RadScriptBlock>

 

</FilterTemplate>

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn FilterControlWidth="50px" DataField="forenames" HeaderText="forenames" SortExpression="forenames"

 

 

 

UniqueName="forenames">

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridBoundColumn FilterControlWidth="120px" DataField="surname" HeaderText="surname" SortExpression="surname"

 

 

 

UniqueName="surname">

 

 

 

<HeaderStyle Width="160px" />

 

 

 

</telerik:GridBoundColumn>

 

 

 

<telerik:GridDateTimeColumn FilterControlWidth="100px" DataField="dob" HeaderText="dob" SortExpression="dob"

 

 

 

UniqueName="dob" PickerType="DatePicker" DataFormatString="{0:D}" DataType="System.DateTime">

 

 

 

</telerik:GridDateTimeColumn>

 

 

 

<telerik:GridBoundColumn FilterControlWidth="50px" DataField="sex" HeaderText="sex" SortExpression="sex"

 

 

 

UniqueName="sex" CurrentFilterFunction="Contains">

 

 

 

<FilterTemplate>

 

 

 

<telerik:RadComboBox ID="RadComboBoxSex" DataTextFormatString="" DataTextField="sex"

 

 

 

DataValueField="sex" Width="75px" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("sex").CurrentFilterValue %>'

 

 

 

 

runat="server" OnClientSelectedIndexChanged="SexIndexChanged">

 

<Items>

 

<telerik:RadComboBoxItem Text="All" />

 

<telerik:RadComboBoxItem Text="Male" Value="Male" />

 

<telerik:RadComboBoxItem Text="Female" Value="Female" />

 

</Items>

 

</telerik:RadComboBox>

 

<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">

 

<script type="text/javascript">

 

function SexIndexChanged(sender, args) {

 

 

var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");

 

tableView.filter(

 

"sex", args.get_item().get_value(), "EqualTo");

}

 

</script>

 

</telerik:RadScriptBlock>

 

</FilterTemplate>

 

</telerik:GridBoundColumn>

 

</Columns>

 

</MasterTableView>

 

<ClientSettings>

 

<Scrolling AllowScroll="false" />

 

</ClientSettings>

 

</telerik:RadGrid>

 

<br />

 

<asp:Label ID="Label1" runat="server"></asp:Label>

 

<asp:Button Text="PostBack" runat="server" ID="Button1" CssClass="button" style="margin:0 20px 0;" />

 

Click "PostBack" to see the state of the grid is preserved.

</form>

 

 

1 Answer, 1 is accepted

Sort by
0
Rosen
Telerik team
answered on 23 Sep 2009, 03:39 PM
Hi Martin,

Can you please try the updating to latest version (Q2 2009 SP1) of RadControls for ASP.NET AJAX and let us know if this makes any difference.

Regards,
Rosen
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
Grid
Asked by
Martin Griffiths
Top achievements
Rank 1
Answers by
Rosen
Telerik team
Share this question
or