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

Unable to get value of the property 'innerHTML': object is null or undefined

2 Answers 572 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Clive Hoggar
Top achievements
Rank 1
Clive Hoggar asked on 10 Apr 2012, 08:01 PM
Hi

I am trying to open a detail page by clicking a row in the grid and passing the detail page the value of the ID column, with Javascript like this:

<script type="text/javascript">
        function RowClick(sender, eventArgs) {
            var MasterTableView = eventArgs.get_tableView();
            var row = MasterTableView.get_dataItems()[eventArgs.get_itemIndexHierarchical()];
            var cell = MasterTableView.getCellByColumnUniqueName(row, "ID");
            var oWnd = radopen("Details.aspx?ID=" + cell.innerHTML);
        
     </script>

But when I click a row of the grid I get the error " Unable to get value of the property 'innerHTML': object is null or undefined"
I must be missing something but I just can't see it.  What am I doing wrong?

Please point me in the right direction someone!

Thanks

Clive

PS The aspx page is like this

       <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            ConnectionString="<%$ ConnectionStrings:bessacarrConnectionString %>"
            SelectCommand="SELECT [ID], [DateStart], [DateEnd], [RallyName], [Location] FROM [tblRallies] WHERE DateDiff(day, getDate(), [DateStart]) > 1 ORDER BY [DateStart]">
        </asp:SqlDataSource>
 
    <telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1"
        GridLines="None" Skin="WebBlue" AutoGenerateColumns="False">
        <ClientSettings>
            <ClientEvents OnRowClick="RowClick" />
        </ClientSettings>
<MasterTableView datakeynames="ID" datasourceid="SqlDataSource1">
<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
 
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
 
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
    <Columns>
        <telerik:GridBoundColumn DataField="ID" DataType="System.Int32" HeaderText="ID"
            ReadOnly="True" SortExpression="ID" UniqueName="ID" Visible="False">
        </telerik:GridBoundColumn>
        <telerik:GridTemplateColumn DataField="DateStart" DataType="System.DateTime"
            HeaderText="Start" SortExpression="DateStart" UniqueName="DateStart">
            <EditItemTemplate>
                <asp:TextBox ID="DateStartTextBox" runat="server"
                    Text='<%# Bind("DateStart") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="DateStartLabel" runat="server" Text='<%# Eval("DateStart", "{0:dd/M/yyyy}") %>'></asp:Label>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="DateEnd" DataType="System.DateTime"
            HeaderText="End" SortExpression="DateEnd" UniqueName="DateEnd">
            <EditItemTemplate>
                <asp:TextBox ID="DateEndTextBox" runat="server" Text='<%# Bind("DateEnd") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="DateEndLabel" runat="server" Text='<%# Eval("DateEnd", "{0:dd/M/yyyy}") %>'></asp:Label>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridBoundColumn DataField="RallyName" HeaderText="RallyName"
            SortExpression="RallyName" UniqueName="RallyName">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="Location" HeaderText="Location"
            SortExpression="Location" UniqueName="Location">
        </telerik:GridBoundColumn>
    </Columns>
</MasterTableView>
 
<HeaderContextMenu EnableImageSprites="True" CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
    </telerik:RadGrid>
<telerik:RadWindowManager ID="RadWindowManager1" runat="server">  
        </telerik:RadWindowManager>


2 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 11 Apr 2012, 05:20 AM
Hello Clive,

You are not getting the cell value because you are setting the Visible property of the column as false. One suggestion is you can set the Display property as false and access the cell value using the javascript.
aspx:
<telerik:GridBoundColumn DataField="ID" Display="False" DataType="System.Int32" HeaderText="ID" ReadOnly="True" SortExpression="ID" UniqueName="ID" ></telerik:GridBoundColumn>

Thanks,
Shinu.
0
Clive Hoggar
Top achievements
Rank 1
answered on 11 Apr 2012, 08:59 AM
Thanks Shinu

I am kicking myself - I should have tried this!   Yes it works, with Display=false

Thanks for quick response, as always.

Clive
Tags
Grid
Asked by
Clive Hoggar
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Clive Hoggar
Top achievements
Rank 1
Share this question
or