Using buffered renderer for grid in extjs - extjs

I'm looking to load a pretty big dataset (around 20k rows) and use the extjs 4.2 grid buffered rendering to view the data. I've seen so many examples that are different (extjs 4.2 examples) that my head is spinning and I can't get any of them to work. There is even an extjs page http://www.sencha.com/blog/first-look-at-ext-js-4-2-grid that shows how simple buffered rendering is in extjs 4.2 (just add the buffered rendering plugin to the grid ) but the examples in the sdk don't look like the example on the web page (they still use the stores buffering configs even though the linked to page above explicitly says you don't need to do that in extjs 4.2).
In the end ... I don't want to hit the server over and over and buffer the data that way. I want to load all the data and just buffer the grid's current dataset.
Does anybody know of an example of how to make that happen ?

Sorry my english is not so good.
Also, if I understood your question on the right way, you have to learn the difference between Remote- and Local Filtering. I think what you search is a local filter,
there you can set individual parameters as you want.
take a look to this example, on the button of the grid, you can find buttons to switch between local- and remote filters, there you got a working example for local filtering. Should do what you want :)

Related

Quill JS | Implement multi page functionality

I am trying to implement multipage functionality with quill. I want to fix the height of each page, and when user reaches the end of page, instead of editor height to grow or scrollbar to appear, I want cursor to go to next page(editor), similar behaviour as observed in Google Docs or Microsoft word document.
I have already added 2 editors in the view, but not having any idea on how to switch to new page as cursor reaches the end of first page.
i come straight from google trying to figure out something similar with quill and as far as i know and as far as i came while researching this specific topic:
to me it seems as if its not possible with multiple editors since as soon as the user wants to select paragraphs/elements over a multi page span you'd have to figure out how to
make the selection actually possible (try to select content over a span of two div elements which both are "contenteditable"-enabled, which was one of my first tries kinda).
spread the selection on multiple editors (you'd have to keep track of how much the user selected and when and how far the selection is within which editor which is kinda tricky)
execute an action over multiple editors which will be especially hard since there is no thing as "shared toolbar" yet (as far as i know)
so i really hope (🙏) the time helped you to find an sharable 🤲 solution to this but as far as i built up my knowledge about quill so far (which is a bit over a few weeks old now).
what i will try in the near future is to add a new module to show a page break and style all other elements accordingly to simulate the look of a page.

Stream data into ag-grid with angularjs

I am attempting to use ag-grid in an application where events are streamed to the client. Every event received should be added to the grid. I am adding via the insertItemsAtIndex method, and am getting multiple events per second.
Unfortunately ag-grid doesn't seem to handle this scenario very well. The first 10 or so events are displayed promptly, but after that I only see chunks of events displayed after a delay. The browser also completely bogs down to the point that it is unusable.
Is there a better way to use ag-grid for streaming data? I have tried the other addItems method, I have removed any cell renderers, sorts, filters, etc. in order to try and keep it as lean as possible, but with no effect.
There is the enterprise feature of a Viewport Row Model. It's the exact thing that you are looking for. However, if you don't have that option, then I would suggest handling the addition of items outside of the grid, then updating the rows with what you create... that might be more optimized.

Can a tagfield in ExtJS 5 use a bufferedstore?

I am trying to create a tag field. I have it displayed without any problems. I am just trying to use a bufferedstore instead of a memory paging store. Is this possible in a tagfield?
I don't think this makes any sense, but according to Sencha's support team the answer is no:
The buffered store really only works with the Grid component.

SWT ComboViewer with ContentProposal and Pagination Control (large anmount of data)

I have implemented a ComboViewer that also uses content proposal (ContentProposalAdapter) functionality in Eclipse RCP application (using SWT). User is able to type first letter of e.g. a street and he gets all valid proposals e.g. streets that starts with 'Mac'. It works really great. Now I am facing additional problem. Number of data to show in this combo can be very big. Now I got almost 200000 records to show. Creating Combo element in GUI takes forever and it crashes my RCP application. I thought about introducing pagination control for this ComboViewer. I would like it to work very similar to this ExtJs solution:
http://dev.sencha.com/deploy/ext-4.0.1/examples/form/forum-search.html
What I was able to find is Nebula Pagination Control (https://www.eclipse.org/nebula/widgets/pagination/pagination.php)
I found just examples where it is user in grid, but not in a combo. There is something like PageableTable, but it is something way different that I need. Does anyone have any example of combining pagination control with ComboViewer? Maybe some other idea, not necessarily Nebula ?
Thanks
You could try using a Text field with AutoCompleteField and TextContentAdapter.
new AutoCompleteField(textControl, new TextContentAdapter(), suggestions);

Implementing filters for ExtJS Tree grid with large amount of data

I am working on a project which is using ExtJS 4.1
I need to implement a tree grid with filters. As per my understanding from reading various articles, blogs and SO posts, ExtJS does not provide filter mechanism with tree store and we need to write our own filtering mechanism.
For filtering there are two approaches suggested:
1) Load the data into the tree grid and then show / hide the node based on filter conditions
2) Manipulate the store (copy the data and remove the record from the store)
I tried first approach. It was working perfectly with the test data (around 30 nodes).
But with the snapshot of production data, I was getting "Unresponsive Script" error in IE and FireFox. With Chrome it was working fine.
Basically the production database has large amount of data, around 3500 records which form around 900 nodes in the tree grid. I suspect, once the tree store is populated, while rendering all 900 nodes into the tree grid, I get "Unresponsive Script" error.
I am new to ExtJS and not sure what is the best way to tackle this problem.
I would like to know, how does filtering works on grid. Can I replicate same filtering mechanism for Tree grid?
Any suggestions to tackle this problem are welcome.
Instead of Tree if you can use Grid with grouping then use you can use Grid with filtering like this with pagination. If not then you can use something like Ext.grid.plugin.BufferedRenderer which can be used for TreePanel as well but it is available only on 4.2. If none of this is the solution for you then you have to create your own custom filtering than can handle pagination for you.
I have found that loading child nodes on the expand events of each node is a decent way to minimize the dom interaction of the tree panel. That way when you filter, it's only going to need to filter the first level of the tree structure rather than the entire thing. I have it working in an access control management application right now that is handling about 350 resources in one tree panel and two others with about 75 nodes each that are linked together through events. There's no noticeable UI lag with that approach but I haven't scaled it up quite to your scale and it would depend greatly how many items were in the first level of your tree whether or not that could work for you.

Resources