Is there a pagination support for columns? I need to support thousands of columns and don't want to load them from the server at one time. Let me know if someone was able to implement this in React AGGrid successfully. infinite scrolling works only for the rows.
Related
I recently decided to update my spreadsheet of games I need to complete. In order to ensure my data was constantly up to date I made use of the IMPORTXML function but with the amount of urls I have begun to encounter 'loading' issues.
This is the spreadsheet:
https://docs.google.com/spreadsheets/d/1ZdcsIf9Upn_0zqTFyLAm1TMMFu_MpyTEm23EU0nVaTA/edit?usp=sharing
(Columns B,E,G and I are usually hidden)
Column A is the url.
Column B scrapes the image url and column C displays it.
Columns D,E,G and I scrape the data I want and displays it in columns D,F,H and J.
If my aim is to have upwards of 500 urls, is this something that can be only be accomplished with a script?
In this scenario you are encountering the limit of Google services. That quota is reached by aggregating the usage of all documents and projects. Also please be aware that there could be more than one import inside the same document, like one per every cell in your example.
To diminish that usage you could modify old documents so they don't refresh anymore (commenting out the relevant pieces and deactivating triggers). Alternatively you could just delete them. If you plan to run large amounts of imports, you could use Apps Script. Although this option is limited by the same quota discussed above, you could programmatically control when and how much to import in order to optimise your utilisation of Google services.
I am using Angular 8 and material design including table. I fetch around 7000 rows using route resolver then I loop again to change the date format to time and format so users can read it wihtout worrying about UTC format. Here i have an issue. When navigating to this tab from the main tab, it takes 3 to 4 seconds to load. What I can is making a loader or better yet, performance improvement. What's out there to improve this situation?
Fetching 7000 at once is probably not the best idea in the first place since most probably your user be able to view them at once anyway - ideally you'll want to implement some kind of paging mechanism in the back-end and fetch them by batches when needed. This will decrease the loading time.
Then, whether or not you have paging implemented on the back-end, you don't want to render 7000 rows at once as this is costly. There are two common solutions, both with different ups and downs.
Use paging: Simply use Material paginator as per examples, and only display limited amount of rows. You can even use custom implementation of DataSource to only transform the dates on-the-fly for the displayed records.
Use virtual scroll: This is a bit trickier, but you can use cdk-virtual-scroll-viewport in conjunction with mat-table and render only rows that are visible on the screen and some buffer for faster scrolling. There is not out-of-box implementation though yet, but you can find some nice examples in this git issue.
Probably there are other ways as well, but this should give you the idea of what can be done.
I am developing a mobile device for Android and iOS. I need to populate data to my TListView with search functionality. I am using a local database for this development with SQLite3 having 100,000 records in one table alone.
Now, everything was so smooth, and this approach really serves the purpose I want. EXCEPT, only when I ran it in my Android mobile device, the loading of data to listview takes so much time (4.3 seconds) and this is not good.
Here are my attempts made so far but no avail:
I tried to limit my TFDQuery to top 20, but it is not implementing to the search function of listview. I am still trying a way where I could trigger the query right after or during the typing of an item in the search box of listview.
I used the property of query RecMax = 20. But then again, it failed! Perhaps, the search function works after the data is loaded to the listview.
Here are some of the approach I haven't tried yet:
Manually code the loading of data to my listview. I don't want to do this because it looks to me like re-inventing the wheel. Though, this could be my last option, in case.
I believed somewhere somebody has got an answer with this. This is a very basic feature of the mobile device that you can find every day like Alibaba, Amazon, and eBay.
I want the search function of my listview to load only the top 20 searches from my database. Is there any simpler way to do this?
IOS newb working on app that pulls JSON feed from web server into an IOS app.
Is it best practice to create an API (in PHP in my case) that spills all the records--which could be thousands into a JSON feed and have the IOS app handle all of them (though displaying only one screen at a time)?
Or is best practice to limit the results in the JSON feed to say ten or one hundred and then have some user action in the IOS App draw down the next batch?
The first would seem more desirable given the reusable cell concept, however, it seems that sending huge numbers of records is bound to be slower and/or problematic from a web traffic and memory management point of view.
On the other hand, the second seems really complicated. How would you know which page to pull down based on IOS style gestures.
Looking to learn best practice on this as it seems to be common for many apps.
Many thanks for any suggestions.
It probably depends on your use case. If you have a lot of data then you probably wouldn't want to load all of them at once. At a certain point it will take too much time and you probably have to do that more than once if you don't persist or if you want to refresh.
In that case a good API is designed to be iterated over e.g. limit/offset parameters. Meaning for example the user scrolls a list of items and when scrolling to the bottom of the list you fetch a new batch of items.
In the other case where one call is fast enough to deliver all the data at once there is no reason to make it more complicated as you said and you can still add iteration afterwards.
I am really just looking for the best way to accomplish this. I've seen the code how to do these individually, but is there a away to do it for say, 100 points? Or do i need to set the custom image and custom info for every point I create?
Also, is there a backend, say SQLite, that i could incorporate the help accomplish more efficiently?
The app I'm building could have 1000's of points, and I REALLY wouldn't want to code everyone of those...but i would!
Thanks
Consider using Google Fusion Tables - they support 100,000 points per layer and 5 layers, for 500,000 points altogether. You access them via an SQL-type language that runs on Google's servers - exactly where your data will be when you upload it and that makes them very fast.
The infowindows are programmable too.
You load your CSV into a Fusion Table (like an Excel spreadsheet) in your Google drive and get a key to that table and you then use the key in your Javascript.
I created the following website with Fusion Tables and I don't have a clue about Javascript! See Skyscan website here. I won't mind if you click View Page Source :-) By the way, if you click on Modern Collections on that page, you are actually turning on/off 25,000 markers and it is almost instantaneous. There is also Marker Clustering available which lets you de-clutter maps with massive numbers of markers and automagically replace them with a single "fatter" marker.
There is a good tutorial here.