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

Strange behavior for dropdownlists in grid (Firefox)

9 Answers 79 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Reqs
Top achievements
Rank 1
Reqs asked on 08 Apr 2014, 11:17 AM
Hello,

When using Firefox, dropdownlists in grid don't always show when selected, if navigatable is true.
IE10/11/Chrome seems fine.

https://www.youtube.com/watch?v=S1Kun1s6rGY

Tried to recreate behavior in test code.
It shows up more with more data in the grid, thou this example is way more then is needed for it to appear in our app.
http://trykendoui.telerik.com/eQUP/9












REQSKendoUI!






9 Answers, 1 is accepted

Sort by
0
Vladimir Iliev
Telerik team
answered on 10 Apr 2014, 09:26 AM
Hi Peter,

Depending on the current PC setup of the user and the data loaded in the Grid it's possible to observe such behavior in some cases when the user tries to open given cell for editing faster than the browser is able to close the last edited cell (as each operation requires traversing and modifying of the DOM). In such cases I would suggest to try reducing the page size of the Grid or use "InLine" / "PopUp" edit modes. 

Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Reqs
Top achievements
Rank 1
answered on 10 Apr 2014, 09:48 AM
Hello Vladimir,

Why does "navigatable" = false change (fix) this behavior?
0
Vladimir Iliev
Telerik team
answered on 10 Apr 2014, 10:04 AM
Hi Peter,

Enabling the "navigatable" option of the Grid adds additional layer of complexity by adding more event handlers to the Grid rows/cells in which the current element is selected and previous selection is removed based on complex logic. That why turning it off improves the Grid performance which on other hand prevents the user from reproducing the previous behavior. 

Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Reqs
Top achievements
Rank 1
answered on 10 Apr 2014, 12:17 PM
Hello again,

I still believe this is a bug in Kendo. I have also investigated the source code to further understand the problem.

The navigatable option add a listener to the mousedown event that asynchronously sets the focus to the grid table (with a setTimeout). When the DOM is large (especially on a slow computer) the click event on the cell might fire before the asynchronous focus is set. This causes the ddl widget to loose focus and close.

Making sure that the operations are performed in the correct order solves the problem. This can be done by not calling the focusing function with setTimeout (not sure if this would effect something else?).
Also I'm not sure for which cases the focusing is really needed? When I removed it from the code it seemed to work better as well.

Of course I can use the my own altered source code, but since this complicate maintainability and since I consider this a bug I really think you should take a deeper look in the matter.

0
Vladimir Iliev
Telerik team
answered on 14 Apr 2014, 09:23 AM
Hi Peter,

The "setTimeout" method is used in order to workaround several bugs in older versions of IE and urrently cannot be removed. If you believe you found way to make the navigation works consistently on older versions of IE without using the "setTimeout" I would suggest to share your idea at KendoUI UserVoice to allow other users vote for it. Most voted ideas are included in next KendoUI releases.  

Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Brandon
Top achievements
Rank 1
answered on 19 Jun 2014, 05:25 AM
I'm having the exact same issue.  It's only in Firefox.  It seems to work when I have about 10 rows or less (but not always) but anymore and it can't handle it. I believe it's a bug as well.  Even when I changed EVERYTHING to false including navigatable it didn't help the problem at all.  Any thoughts Peter or Vladimir?
0
Reqs
Top achievements
Rank 1
answered on 19 Jun 2014, 06:54 AM
Hello,
Well, the edit event gets out of order fast with more data... would need some check that it always fires last I guess.
Se attached file from Chorme - Kendo UI Debugger.
0
Vladimir Iliev
Telerik team
answered on 20 Jun 2014, 01:35 PM
Hi,

As I already mention if you believe that there is better way of handling this case you can share your idea at KendoUI UserVoice. This way the other users would be able to comment, evaluate and vote for it. Most voted ideas are included in next Kendo UI releases.
 
Regards,
Vladimir Iliev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Reqs
Top achievements
Rank 1
answered on 25 Jun 2014, 12:07 PM
Hello,

What about checking for IE8 before using the setTimeout?
This seems to work good in Chrome when testing with many rows.
Something like
           if (isIE8) {
               setTimeout(function() {
                   //Do not focus if widget, because in IE8 a DDL will be closed
                   if (!(isIE8 && $(kendo._activeElement()).hasClass("k-widget"))) {
                        focusTable(currentTable, true);
                    }
               });
           }
           else
           {
               if (!($(kendo._activeElement()).hasClass("k-widget"))) {
                   focusTable(currentTable, true);
               }
           }
Tags
Grid
Asked by
Reqs
Top achievements
Rank 1
Answers by
Vladimir Iliev
Telerik team
Reqs
Top achievements
Rank 1
Brandon
Top achievements
Rank 1
Share this question
or