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

[Solved] Selection Out of Range Radgrid When Filtering with multiple combobox

1 Answer 209 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Rahul
Top achievements
Rank 1
Rahul asked on 10 Aug 2009, 08:51 AM

Hello Sir

I want to filter the radgrid column but it can give the error selection out of range when i m trying to add 2nd drop downlist search for 2nd column. It works when i add the dropdownlist for single column it will works fine , but in 2nd gives error .


<telerik:GridTemplateColumn HeaderText="Primary Product" DataField="ProdName" UniqueName="ProdName"
                                                                                AllowFiltering="true" AutoPostBackOnFilter="true">
                                                                                <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                         
                                                                                <ItemTemplate>
                                                                                  <%# DataBinder.Eval(Container.DataItem,"ProdName") %>
                                                                                    <input type="hidden" id="hidPropID" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"Proposal_ID")%>'
                                                                                        name="hidPropID" />
                                                                                    <input type="hidden" id="hidProposalGrpVal" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"ProposalGrpVal")%>'
                                                                                        name="hidProposalGrpVal" />
                                                                                    <input type="hidden" id="hidChecked" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"Checked")%>'
                                                                                        name="hidChecked" />
                                                                                </ItemTemplate>
                                                                             <FilterTemplate>
                                                                                    <telerik:RadComboBox ID="ddlPrimProd" Width="130" DataSourceID="Sqlprimprod" DataTextField="Name"
                                                                                        DataValueField="Name" Height="70" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Name").CurrentFilterValue %>'
                                                                                        runat="server" AppendDataBoundItems="True" Sort="Ascending" SortCaseSensitive="false"
                                                                                         MarkFirstMatch="true" Skin="Black" OnClientSelectedIndexChanged="ProdSelectedIndexChanged">
                                                                                        <Items>
                                                                                            <telerik:RadComboBoxItem Text="< Any Product >" />
                                                                                        </Items>
                                                                                    </telerik:RadComboBox>
                                                                                    <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server">

                                                                                        <script type="text/javascript">
                                                                                            function ProdSelectedIndexChanged(sender,args) {
                                                                                            var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>");
                                                                                                  if (sender.get_value() != "0")
                                                                                                   {                                                                                               
                                                                                                        tableView.filter("Name",args.get_item().get_value(),"EqualTo");
                                                                                                   }
                                                                                                else {
                                                                                                        tableView.filter("Name", args.get_item().get_value(), "NoFilter");
                                                                                                  }
                                                                                            }
                                                                                        </script>

                                                                                    </telerik:RadScriptBlock>
                                                                                </FilterTemplate></telerik:GridTemplateColumn>


<telerik:GridBoundColumn HeaderText="Crop" DataField="CropName" AllowFiltering="true"
                                                                                UniqueName="Name" AutoPostBackOnFilter="true" SortExpression="CropName">
                                                                                <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle"></HeaderStyle>
                                                                               
                                                                                <%--<ItemStyle Width="10%" />--%>
                                                                               <%--<FilterTemplate >
                                                                                <telerik:RadComboBox ID="ddlcrop" Width="130" DataTextField="CropName" ShowToggleImage ="false" EnableLoadOnDemand = "true"
                                                                                    DataValueField="CropName" runat="server" AppendDataBoundItems="true" markFirstMatch="true" Skin="Black"></telerik:RadComboBox>
                                                                                </FilterTemplate>--%>                  
                                                                                                                                                              
                                                                                <FilterTemplate>
                                                                                <telerik:RadComboBox ID="ddlcrop" Width="130" DataSourceID="SqlDataSource1" DataTextField="Name"
                                                                                    DataValueField="Name" Height="90" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Name").CurrentFilterValue %>'
                                                                                    runat="server" AppendDataBoundItems="true" OnClientSelectedIndexChanged="SelectedIndexChanged"
                                                                                    MarkFirstMatch="true" Skin="Black">
                                                                                    <Items>
                                                                                        <telerik:RadComboBoxItem Text=" <  Every  >" />
                                                                                    </Items>
                                                                                </telerik:RadComboBox>
                                                                                <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">

                                                                                    <script type="text/javascript">
                                                                                            function SelectedIndexChanged(sender,args) {
                                                                                            var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>");
                                                                                                  if (sender.get_value() != "0")
                                                                                                   {                                                                                                
                                                                                                        tableView.filter("Name",args.get_item().get_value(),"Contains");
                                                                                                   }
                                                                                                else {
                                                                                                        tableView.filter("Name", args.get_item().get_value(), "NoFilter");
                                                                                                  }
                                                                                            }
                                                                                    </script>

                                                                                </telerik:RadScriptBlock>
                                                                            </FilterTemplate>
                                                                            </telerik:GridBoundColumn>



It gives exception when page is postback

  dgProposals.DataBind()

I m confuse why it happen bcuz it works when i trying for single column it will filter out proper , but when i add the the combobox for another column it gives exception.


The datasources are different ;


<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:GoConnectionString %>"
        SelectCommand="SELECT [ID], [Name] FROM [Crop]"></asp:SqlDataSource>
    <asp:SqlDataSource ID="sqlprimprod" runat="server" ConnectionString="<%$ ConnectionStrings:GoConnectionString %>"
        SelectCommand="SELECT [Name] FROM [QryProdTN] ORDER BY [Name]"></asp:SqlDataSource>


Help Me urgent sir, Its very urgnet need


I hv seen your online demo but m not getting the solution from that .


reply urgent

1 Answer, 1 is accepted

Sort by
0
Georgi Krustev
Telerik team
answered on 12 Aug 2009, 01:47 PM
Hello Rahul,

Can you reproduce the described behavior on this online demo?

Regards,
Georgi Krustev
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
Grid
Asked by
Rahul
Top achievements
Rank 1
Answers by
Georgi Krustev
Telerik team
Share this question
or