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

Sort Problem on GridTemplateColumn

4 Answers 338 Views
Grid
This is a migrated thread and some comments may be shown as answers.
RJ
Top achievements
Rank 1
RJ asked on 06 Jun 2013, 09:14 AM
Hi All,

Im having Javascript error whenever I do sorting on my GridTemplateColumn..
Microsoft JScript runtime error: Unable to set value of the property 'control': object is null or undefined
error on --> a.control=this; 
under --> Telerik.Web.UI.We....ed16cbdc [dynamic] 

I have used this as a reference but it didnt work for me. http://www.telerik.com/help/aspnet-ajax/grid-sorting-for-hyperlink-template-columns.html

The only difference is that Im using Masterpage and the grid is inside RadMultiPage..

<asp:Content ID="Content3" ContentPlaceHolderID="BodyContentPlaceHolder" runat="server">
......
.....
<
telerik:RadMultiPage ID="MultiPageMain"  .......
    <telerik:RadPageView ID="PanelPageView1"  .......
         <telerik:RadGrid ID="GrdMain" runat="server" AutoGenerateColumns="False" CellSpacing="0" AllowSorting="True" ......
               <MasterTableView TableLayout="Fixed">
              <Columns>
                <telerik:GridTemplateColumn HeaderText="Comp Name" UniqueName="CompName" SortExpression="CompName">
               <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                            <ItemTemplate>
                                  <
asp:Label ID="lblCompName" Runat="server" Text='<%# Convert.ToString(DataBinder.Eval(Container.DataItem, "CompName")) %>' />
                            </ItemTemplate>
             </telerik:GridTemplateColumn>
                    ......
......


 

Thanks in Advance.



4 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 06 Jun 2013, 09:42 AM
Hi RJ,

I have tried the code,and it works fine at my end.Try adding DataField property.
Here is the code i tried.

ASPX:
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" Skin="Black" MultiPageID="RadMultiPage1"
           SelectedIndex="0">
           <Tabs>
               <telerik:RadTab Text="RadGrid1">
               </telerik:RadTab>
               <telerik:RadTab Text="RadGrid2">
               </telerik:RadTab>
           </Tabs>
       </telerik:RadTabStrip>
       <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0">
           <telerik:RadPageView ID="RadPageView1" runat="server">
               <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" DataSourceID="SqlDataSource1"
                   AllowSorting="true" PageSize="20">
                   <MasterTableView AutoGenerateColumns="False" DataKeyNames="OrderID" TableLayout="Fixed">
                       <Columns>
                           <telerik:GridTemplateColumn HeaderText="ShipCountry" UniqueName="ShipCountry" DataField="ShipCountry"
                               SortExpression="ShipCountry">
                               <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                               <ItemTemplate>
                                   <asp:Label ID="lblCompName" runat="server" Text='<%# Convert.ToString(DataBinder.Eval(Container.DataItem, "ShipCountry")) %>' />
                               </ItemTemplate>
                           </telerik:GridTemplateColumn>
                       </Columns>
                   </MasterTableView>
               </telerik:RadGrid>
           </telerik:RadPageView>
           <telerik:RadPageView ID="RadPageView2" runat="server" CssClass="pageViewEducation">
               <asp:Label ID="Label1" runat="server" Text="Hello"></asp:Label>
           </telerik:RadPageView>
       </telerik:RadMultiPage>

Thanks,
Princy
0
RJ
Top achievements
Rank 1
answered on 06 Jun 2013, 10:15 AM
Hi Princy thanks for the quick response, but sad to say it didnt solve the problem.
Same problem as before even I added dataitem on my gridtemplate.
I also did convert it to gridBoundColumn but to no avail. Seems like its not working on Masterpage.

 

<telerik:GridBoundColumn DataField="COMPNAME" HeaderText="Comp Name" UniqueName="COMPNAME">

 

</telerik:GridBoundColumn>


Thanks again.
0
Princy
Top achievements
Rank 2
answered on 07 Jun 2013, 08:42 AM
Hi,

I have done it in the master page,its working fine.Here's the full code.

ASPX:
<asp:Content ID="Content2" ContentPlaceHolderID="Body" Runat="Server">
  <asp:ScriptManager ID="scr" runat="server">
        </asp:ScriptManager>
        <telerik:RadTabStrip ID="RadTabStrip1" runat="server" Skin="Black" MultiPageID="RadMultiPage1"
            SelectedIndex="0">
            <Tabs>
                <telerik:RadTab Text="RadGrid1">
                </telerik:RadTab>
                <telerik:RadTab Text="RadGrid2">
                </telerik:RadTab>
            </Tabs>
        </telerik:RadTabStrip>
        <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0">
            <telerik:RadPageView ID="RadPageView1" runat="server">
                <telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" DataSourceID="SqlDataSource1"
                    AllowSorting="true" PageSize="20">
                    <MasterTableView AutoGenerateColumns="False" DataKeyNames="OrderID" TableLayout="Fixed">
                        <Columns>
                            <telerik:GridTemplateColumn HeaderText="ShipCountry" UniqueName="ShipCountry" DataField="ShipCountry"
                                SortExpression="ShipCountry">
                                <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                <ItemTemplate>
                                    <asp:Label ID="lblCompName" runat="server" Text='<%# Convert.ToString(DataBinder.Eval(Container.DataItem, "ShipCountry")) %>' />
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                        </Columns>
                    </MasterTableView>
                </telerik:RadGrid>
            </telerik:RadPageView>
            <telerik:RadPageView ID="RadPageView2" runat="server" >
                <asp:Label ID="Label1" runat="server" Text="Hello"></asp:Label>
            </telerik:RadPageView>
        </telerik:RadMultiPage>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Northwind_newConnectionString3 %>"
            SelectCommand="SELECT TOP 50 * FROM [Orders]"></asp:SqlDataSource>
</asp:Content>

Thanks,
Princy
0
RJ
Top achievements
Rank 1
answered on 07 Jun 2013, 10:42 AM
Thanks Princy, seems like I have to redo my grid from scratch coz right now it has other features added to it. Like the yahoo style scrolling -> http://demos.telerik.com/aspnet-ajax/grid/examples/client/virtualscrollpaging/defaultcs.aspx  (I used the 2nd method)

I'll just gonna make the grid first and sort before adding other feature. Also will make datasource be in the aspx as well, for right now its on the codebehind and my needdatasource is just a viewstate of my datatable thats been created during binding of grid. Should that affect the sorting? Anyway will update this thread once my problem is fixed... Thanks again..

RJ
Tags
Grid
Asked by
RJ
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
RJ
Top achievements
Rank 1
Share this question
or