Completed
Last Updated: 27 Feb 2019 08:40 by ADMIN
ADMIN
Dess | Tech Support Engineer, Principal
Created on: 13 Nov 2018 08:28
Category: GridView
Type: Bug Report
4
FIX. RadGridView - cursor lagging while typing in the filter cell (improve filtering performance)
To reproduce: please refer to the attached sample project and follow the steps from the attached gif file.

1. Run the project and type "hana" in the second filter cell. You will notice that after a few seconds the input is handled and the grid is filtered.

Workaround: use RadVirtualGrid instead. 
https://docs.telerik.com/devtools/winforms/virtualgrid/overview
https://docs.telerik.com/devtools/winforms/virtualgrid/filtering/filtering

Second workaround: https://docs.telerik.com/devtools/winforms/gridview/filtering/how-to/filter-on-enter
12 comments
ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 27 Feb 2019 08:40
Hello, Scott,         

I have investigated the search behavior in the latest version and the previous one and I can confirm that there is changed behavior when handling the key strokes in the search box. However, it is introduced because we provided API for clearing the text in the search text box. It is not related to the improved filtering functionality at all.

The possible solution that I can suggest is to increase the SearchDelay as follows:
RadGridView1.MasterView.TableSearchRow.SearchDelay = 250

If you need any further assistance please don't hesitate to contact me. 

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Scott
Posted on: 26 Feb 2019 19:36

In our testing so far we have found that this release has re-broken the workaround fix provided in this ticket for the Grid Search Bar. https://www.telerik.com/account/support-tickets/view-ticket/1348565

I have tried to remove the workaround code that was suggested and was working up until we upgraded for the purposes of this grid column filter problem. 

I will re-open that support ticket.

ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 26 Feb 2019 08:22
Hello, Scott,         

I am glad that the problem you were facing is now resolved. It seems that you manipulated the elements hierarchy for some control at design time which serialized the changes by accessing the respective element by index in the Children collection. I have reviewed the latest several releases and I would like to note that we updated the internal elements structure of RadBrowseEditor in R3 2018 SP1 (version 2018.3.1016). Additional information is available in the release history: https://www.telerik.com/support/whats-new/winforms/release-history/ui-for-winforms-r3-2018-sp1-(version-2018-3-1016)

Note that you can avoid such cases in future if you customize the elements by accessing the respective public properties, not accessing the elements by index. Thus, if any breaking changes occur, your code is not supposed to be affected. Although we strive to always announce such changes, they may cause any inconvenience. 

If you are still experiencing any further difficulties, I would kindly ask you to submit a support ticket with the respective product where you can provide a full description of the precise case. Thus, we would be able to make an adequate analysis of the precise case and assist you further. Thank you in advance.

I hope this information helps.

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Scott
Posted on: 25 Feb 2019 14:30

I was able to resolve the issues by finding all BackColor2 in the code behinds and changing to BackColor. I also had to remove and re-add a text box and that fixed it all (for some reason).

I added common code to each form that has a grid in the form load. 

Public Sub SetupGridColumnFilterAutoDelay(grid As RadGridView)
        'SMCNITT #20340 grid column filter performance
        For Each column As GridViewColumn In grid.Columns
            Dim col As GridViewDataColumn = DirectCast(column, GridViewDataColumn)
            If col IsNot Nothing Then
                col.AutoFilterDelay = 650 'milliseconds
            End If
        Next

End Sub

Scott
Posted on: 24 Feb 2019 14:36

I am trying to upgrade to the latest version. I get full compile OK (usual warnings I think).

However, when I run I get errors on InitializeComponent.

System.InvalidCastException

  HResult=0x80004002
  Message=Unable to cast object of type 'Telerik.WinControls.UI.RadTextBoxItem' to type 'Telerik.WinControls.Primitives.FillPrimitive'.

If I try to open the designer for this form I get several of these errors: "Error parsing RadItem: Property BackColor2 not found on element Telerik.WinControls.UI.RadTextBoxItem. Child indexes 0 - 2 - 1 - 0 - ..."

This is rather urgent now as I am now holding up a release (for the second time) for this fix. I will open up a support ticket as well. 

ADMIN
Dimitar
Posted on: 21 Feb 2019 08:19
Hello Scott,

Indeed AutoFilterDelay should be set for each individual column. You can find additional information on this link

Property is introduced in Telerik UI for WinForms R1 2019 SP1. 

Regards,
Dimitar
Progress Telerik
Get quickly onboard and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Scott
Posted on: 13 Feb 2019 16:03

Hi Dimitar (all):

I am glad to hear a fix for this is soon to be made available. If I understand correctly, I need to set this new property for every column for every grid. Or perhaps this only affects certain types of columns that have certain types of editors (that contain a text box that the user types in that will "autofilter").

For each of our grids in the form load I will loop through each column and set this property. I am not sure why a breaking change should require me to add any new code but I will do so.

I wish I could test before we try to upgrade to R1 2019 SP1.

Dimitar
Posted on: 13 Feb 2019 15:46

Hello,

A fix will be available in Telerik UI for WinForms version R1 2019 SP1.

Introducing new property: AutoFilterDelay, which gets or set the value in Milliseconds indicating delay between last key press and filtering operation.

In order to use it you can add the following code to a particular Column:
this.radGridView1.Columns[1].AutoFilterDelay = 1000;

Regards,
Dimitar

ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 05 Feb 2019 09:14
Hello,         

I would like to note that we understand completely the importance of this issue. This issue is present in our TODO list with high priority. We will do our best to introduce a fix accordingly. However, please consider the complexity of the problem. In order to provide a stable solution, it should pass the whole QA test cycle.

Please make sure that you follow this item. Thus, once the item is updated, you will get notified for the changes. 

Should you have further questions please let me know.

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Scott
Posted on: 30 Jan 2019 12:30

Hi Ken:

This is still our number one issue in production. I am working with Dess to get a version of what is described as "second workaround" to actually work for all grid column data types. https://www.telerik.com/account/support-tickets/view-ticket/1357078

I am currently holding up a production release to see if we can get this in. 

Even if we do the functionality will not be on par with prior to it breaking in the upgrade. It is a lot of workaround code that I need to put in for every grid we have.

Ken
Posted on: 30 Jan 2019 06:18
Please update us the status as we have the issue in production
Scott
Posted on: 13 Nov 2018 11:21
Please consider prioritizing this fix high. This is popular functionality in our application and we have many users complaining. It will be hard to convince management to upgrade again if we do not see responsiveness to these types of issues.

Thanks.