Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search Locking at 10K records #58

Closed
oppman29 opened this issue Mar 16, 2021 · 7 comments
Closed

Search Locking at 10K records #58

oppman29 opened this issue Mar 16, 2021 · 7 comments

Comments

@oppman29
Copy link

Hi David,

Unfortunately found an issues not as easy as the scaling to fix.. I would love to give back again!
But so far everything I've tried hasn't worked.

Here is the issue if you load up 10,000 or more rows in a columns where they are vary similar.
For example all begin with 1012XXXX and say 1013XXXX

After the they are displayed when the user goes to search and wants to type a number like 10121212 as soon as they type the first 1,, it tries to load and check all 10K nodes and this happens again after they type the next number and so on..

image

I have been trying ( without success) to limit the amount of values that are displayed back in the FilterList kinda like what excel does,,,
Excel only shows the first 1000 and shows a too many message ( but as continue to type it adds more matches)
or if not put some kind of delay so the end user has enough time to type the complete number.

My first idea was to limited the number of vals from menustrip GetValuesForFilter passed to BuildNodes(vals); but that came to byte me later because it prevents the number typed being found .

also try to modify the Menustrip.Show by limiting the TreeNodeItemSelector in the foreach but no go..

let me know if you fully understand the issue or i can explain further,,,
It happens with any amount of records but its not noticeable until you hit at least 8- 10K rows,,,

@davidegironi
Copy link
Owner

Hello @oppman29 , that's about performance. I've already get a question on that. Maybe in the weekend I can take a view on it. I'll get you back.

@oppman29
Copy link
Author

oppman29 commented Mar 17, 2021 via email

@davidegironi
Copy link
Owner

Hello @oppman29,
Check this out: https://filebin.net/791cp6y1chcdikwe
MenuStrip.cs is changed, you can find the changes on top. I have to expose the changes to parent components, comment it out and make a little bit of order, but now, just for a check, you can set _limitCheckListNodes. Let me know if it's good for you.

@oppman29
Copy link
Author

oppman29 commented Mar 22, 2021 via email

@davidegironi
Copy link
Owner

Hello @oppman29 ,
I know the behaviour of point 2. I'm trying to solve this, but it's a big change in the main logic of the MenuStrip. I suppose I've to refactor the full logic, cause it's all based on nodes of CheckList now. Unluckily I've not enought time now to rebuild this.
I post here the latest MenuStrip.cs I've write that has a few bug expecially when rebuilding the filter. As soon as I've time, I will take a look at this.
MenuStrip_lotdata.zip

@davidegironi
Copy link
Owner

Hello @oppman29
Take a look here, logic is rewritten. I need your help to check ALL the filtering and sorting capabilities before publishing.
Note: this is a pre/publish version that already contains the SDK (net5.0 and net40 multitarget) mod #49

Download here: https://file.io/tN7wEwMRZ2Gc

@davidegironi
Copy link
Owner

Hello @oppman29
Just to inform you that I'm going to release in a few days a new version with the fix above, and the memory leak cured find it here: #49 (comment), let me know if you find problems)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants