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

Telerik RadGrid: Freeze Column featue not working in IE8

11 Answers 131 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ranjan
Top achievements
Rank 1
Ranjan asked on 25 Aug 2012, 10:10 AM
Freeze column fetature of RadGrid is not working correctly in IE8.
1.    column size just become very large on scrolling
2.    Freeze column does not work properly
Please see my attached document which I captured from On-line resource you provided.

11 Answers, 1 is accepted

Sort by
0
Pavlina
Telerik team
answered on 27 Aug 2012, 02:38 PM
Hello,

Can you send us the problematic code, so we can investigate the issue? Also make sure that UseStaticHeaders property is set to true.

Kind regards,
Pavlina
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Ranjan
Top achievements
Rank 1
answered on 31 Aug 2012, 09:49 AM
Pavlina,
If you will see my attached image it is showing the URL from where I am testing. Its from the Telerik Demo site.
Please fix this issue.

Thanks
Ranjan
0
Pavlina
Telerik team
answered on 03 Sep 2012, 03:04 PM
Hello Ranjan,

I tried to replicate the problem you are facing with our online example in IE8, but to no avail. Please refer to the video below to see how the frozen columns demo is working on my side and let me know if I am missing something out while testing:
http://screencast.com/t/lRDQOgQT


All the best,
Pavlina
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Nicolaï
Top achievements
Rank 2
answered on 09 Oct 2012, 07:38 AM
Same here.
It does not work on IE8. Headers scroll SOMEWHAT ok, but the content is skewed, when it works.
Javascript error about Telerik...axd.
0
Nicolaï
Top achievements
Rank 2
answered on 09 Oct 2012, 07:51 AM
if((g>1&&h+g>=f)||(c.parentNode.className.indexOf("rgGroupHeader")!=-1&&c.className.indexOf("rgGroupCol")==-1)){if(!n){e.rows[m].cells[h].colSpan=e.rows[m].cells[h].colSpan-1;

*self sensored rant about telerik not being x browser*

EDIT:
---> SO.. IE8 does not like colSpan to be set to 0. Any fix???

Creating a bug report, to add to my list of support tickets that start with "IE.." .
This is the most disastrous bug I've encountered: people were editting records on the wrong columns because they were so skewed. My reputation is broken. Consequences are hitting me. All the managers, omg. You have no idea how hard it is to not start cursing. This one is having real consequences. I just saw a bonus jumping out the window.
0
Pavlina
Telerik team
answered on 11 Oct 2012, 04:44 PM
Hi Nicolaï,

May I ask you to open a formal support ticket and send us a sample runnable project where the described problem can be observed. We will debug it locally and will get back to you with additional information.

Thank you.

Regards,
Pavlina
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Nicolaï
Top achievements
Rank 2
answered on 12 Oct 2012, 05:55 AM
Hello,

I did.. Here is the code to fix it:
Telerik.Web.UI.Grid.hideShowCells = function(table, index, display, cols)
{
     var totalVisibleCols = Telerik.Web.UI.Grid.getVisibleCols(cols);
     var tableView = $find(table.id);
     for (var i = 0, l = table.rows.length; i < l; i++)
     {
        var isDetailTable = false;
        var cellColSpan = 0;
        var cell = null;
        if (table.rows[i].cells.length != totalVisibleCols)
        {
            if (table.rows[i].cells.length == 1)
            {
                table.rows[i].cells[0].colSpan = totalVisibleCols || 1;
            }
            else
            {
                for (var j = 0; j < table.rows[i].cells.length; j++)
                {
                    cell = table.rows[i].cells[j];
                    if (Telerik.Web.UI.Grid._trySetColSpanOnDetailTable(cell))
                    {
                         
                        if (tableView && !tableView._isHelperColumnType(tableView.get_columns()[index]._data.ColumnType))
                        {
                            isDetailTable = true;
                            break;   
                        }
                        break;
                    }
                    cellColSpan = cell.colSpan;
                    if ((cellColSpan > 1 && j + cellColSpan >= index) ||
                        (cell.parentNode.className.indexOf("rgGroupHeader") != -1 && cell.className.indexOf("rgGroupCol") == -1))
                    {
                        if(!display)
                        {
                            var colspan = table.rows[i].cells[j].colSpan - 1;
                            if (colspan <= 0) {
                                colspan = 1;
                            }
                            table.rows[i].cells[j].colSpan = colspan;
                        }
                        else
                        {
                            table.rows[i].cells[j].colSpan = table.rows[i].cells[j].colSpan + 1;
                        }
                        break;
                    }
                }
            }
        }
        else
        {
            for (var j = 0; j < table.rows[i].cells.length; j++)
            {
                cell = table.rows[i].cells[j];
                if (Telerik.Web.UI.Grid._trySetColSpanOnDetailTable(cell))
                {
                    var tableView = $find(table.id);
                    if (tableView && !tableView._isHelperColumnType(tableView.get_columns()[index]._data.ColumnType))
                    {
                        isDetailTable = true;
                        break;   
                    }
                }
            }
        }
 
        cell = table.rows[i].cells[index];
        var defaultColSpan = 1;
         
        if(!display && !isDetailTable)
        {          
            if(cell != null && cell.colSpan == defaultColSpan && cell.style.display != "none")
            {
                cell.style.display = "none";
                if(navigator.userAgent.toLowerCase().indexOf("msie") != -1 && navigator.userAgent.toLowerCase().indexOf("6.0") != -1)
                {
                     Telerik.Web.UI.Grid._hideShowSelect(cell, display);
                }
            }
        }
        else if (!isDetailTable)
        {
            if(cell != null && cell.colSpan == defaultColSpan && cell.style.display == "none")
            {
                cell.style.display = (window.netscape)? "table-cell" : "";
            }
             
            if(navigator.userAgent.toLowerCase().indexOf("msie") != -1 && navigator.userAgent.toLowerCase().indexOf("6.0") != -1)
            {
                 Telerik.Web.UI.Grid._hideShowSelect(cell, display);
            }
        }
    }
}

I've been told it will be part of Q3.
So either change version, or use this code until the next version comes.


EDIT: just got another email complaint from a user... With a screenshot of the broken grid, headers not aligning., and no javascript error showing in status bar.. I'm not sure yet, but I think it's because of grouping now., with scrolling..  Need to investigate it and fx..
0
Telugu
Top achievements
Rank 1
answered on 27 Nov 2012, 02:05 PM
Hi Nicolaï /All,

I am facing same problem .i tried many ways but it is not working .
could you send the code .Above code where we write  the function  which parameter we pass.

better to send file  to my mail id telugu.praveen@gmail.com or post here .

Any one help me to solve above problem.

Thanks & Regards,
Praveen
0
Telugu
Top achievements
Rank 1
answered on 28 Nov 2012, 09:00 AM
Hi Pavlina,

http://screencast.com/t/lRDQOgQT

above problem  in IE8. is it Solved in new version of telerik ?

Any other solution for above problem.

Please send.

Thanks,
Praveen.
0
Pavlina
Telerik team
answered on 30 Nov 2012, 11:10 AM
Hello,

The empty space which appears at the end of the grid in IE8 is caused by the fact that all columns has fixed widths set in pixels. To avoid it you can leave the last column without width and the empty space will not be visible. In the previous version this space is styled with Vista skin, but now this problem is fixed.

All the best,
Pavlina
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
Bijender
Top achievements
Rank 1
answered on 11 Sep 2016, 09:40 AM

HI Ranjan,

I know its very whats was the solution by way, any code fix you may have?

 

Thanks,

Bijender

Tags
Grid
Asked by
Ranjan
Top achievements
Rank 1
Answers by
Pavlina
Telerik team
Ranjan
Top achievements
Rank 1
Nicolaï
Top achievements
Rank 2
Telugu
Top achievements
Rank 1
Bijender
Top achievements
Rank 1
Share this question
or