In this part of tutorial we shall demonstrate work of the grid with large data volumes on the example of Instrument
The business model already contains Instrument class. We shall add only one field (quoting currency) and create a lot of instruments in the application (e.g. 100000). For this purpose we shall modify Provider class and create an arbitrary list of instruments. As before, this list will be available as follows. Now let’s bind the grid to the data source. Memory consumption is one of the most important aspects of displaying large data volumes. When grid connects directly to application business logic, it significantly reduces memory consumption because there are no intermediate objects between the data layer and its presentation.
Let’s create InstrumentBrowser control and place it at the main panel. We shall add a panel for instrument filtering and
searching and the grid to this control. We shall configure grid in the designer and link it to the data source.The screenshot below demonstrates the results of application work.
Let’s note an important detail. The collection of instruments contains about 100,000 elements. It is created when the application is launched. Total memory consumption of the entire application is about 45 MB. This collection is bound to the grid when Instrument browser tab is opened. After that, memory consumption increases to 59 MB. This means that the grid uses about 14 MB to display 100,000 elements. This amount of elements loads for about seconds.These indicators demonstrate of grid performance with realistic numbers of instruments.
To navigate large data volumes a high performance filter is required. The grid provides a simple API for filter implementation. In this application many instruments have Weight, Shares, Capitalization values equaling 0. For more convenient data interpretation it is better not to display insignificant zeroes. Besides, it is better to add thousand separators for data formatting. Use of formats is the simplest way to implement this functionality. An example of creating a simple format for displaying digital information is provided below.
Net Grid provides broad functionality of displaying various datagrid elements, such as cells, rows, headers and columns. The main objective of Dapfor is to develop high-performance software, specifically grids. Popular MVVM programming model that extensively uses databinding, data gridview to separate data from presentation.