The report represents a structured data obtained from the file (e.g. XML or CSV) or database. Therefore, the process of transferring data from a source to a report should be as simple as possible. Considering this, we have made a significant improvement. Earlier, in Stimulsoft Reports, data adapters were divided into embedded ones and external. The built-in ones were SQL, OLE DB, ODBC, XML, MS Access, and the rest were external. In order to use external data adapters, it was necessary to perform some actions – download the adapter from the web site, unzip the file, add a reference to the dll, etc. And only after that you can work with a particular type of data source.

Certain problems occurred, if the report was created on one device, its rendering was carried out on another device, while using different versions of Stimulsoft Reports. In this case, it was necessary to recompile the adapter.

Now we have simplified the process. We have embedded all the data adapters. You create a connection to a data source directly from the dictionary. To do this, simply copy the necessary assembly to the bin folder, for example, for MySQL – MySql.Data.dll, Oracle – Oracle.DataAccess.dll, SQLite – System.Data.SQLite.dll etc. Consider the example of passing data to the report from MySQL source. First, create the MySQL connection. The picture below shows the window for selecting the type of connection.

Connection

Select the type of MySQL

Note that the frequently used types of connections can be attached to the top of the list. To do this, click the Pin icon.

In the next window, specify the connection string and click the Test button to test the connection.

Connection

After a successful test, click OK. Now the created connection will be displayed in the data dictionary. Based on this connection, it is necessary to create a new data source. To do this, select New Data Source in the Actions menu of the data dictionary. In the opened window, select the created MySQL connection or the point Data from MySQL. In the first case all database schema (tables, views, and procedures) it will be obtained, and in the second, it will be necessary to create a request.

Data Source

After you click OK, the next window appears. You can select data or create a request.

Data Source

After you click OK, the selected data will be displayed in the data dictionary.

Dictionary

Now, on the base of these data, you can create a report.
Time remains very little. From day to day we will release version 2015.1 of Stimulsoft Reports. And while our departments are putting the finishing touches, we will reveal to you the secrets of the StiMvcViewer component. In the release 2015.1, this component will support interactive reports. Now you can easily create reports with collapsing and interactive sorting.

Collapsing is an opportunity to roll up and roll out, for example, groups directly in the rendered report. For example, if you have a report with groups, it usually displays the title of the group, and then the data by this group. In the case with collapsing the group title will be displayed and these groups can expand or collapse. Look closely at the picture below.

MVC Viewer

Interactive sorting means the ability to sort data in the rendered report. In other words, select the text component, assign a data column to it (by which sorting will be done) and render the report. When you click on this text component in the rendered report its content will be sorted. Each clicking on this component changes the sorting direction (ascending or descending order). It should be noted that the data column is used in the text component and the data column specified for the interactive sorting may vary. See an example below.

MVC Viewer

For full evolution we need two more steps. Therefore, in addition to all of the above, it is also possible to create drill down reports and reports with bookmarks.

Bookmarks can be found on a separate panel and used to quickly navigate through the report. For example, if a report is created with groups, the bookmarks are usually formed by the group name. This helps you to quickly jump to a specific group.

Drill down is a certain type of data connection. For example, there is a list of categories with descriptions and images. The drill-down reports have interactivity that is represented by showing the content when you click on any category (for example, a list of products). Below is an example of a drill down report.

MVC Viewer

By the way, creating interactive reports can be found in the documentation and our video tutorials. Leave your comments and questions here and we will answer you with pleasure.
Time is running very fast, and there is a couple of weeks before the release of the new version 2015.1. Meanwhile, the development and improvement of components is not stopping even for a minute. And now it is safe to tell you about adding new features in StiMvcViewer that is a part of Stimulsoft Reports.Web. One of the most anticipated features is that in the nearest release, the new Viewer for MVC will support more than 15 color themes of the user interface. This will give you the opportunity to choose color preferences which are the most pleasant to you and matching your requirements. Here are a few of the themes on the picture below.

MvcViewer Themes
For us, constant improvement of products is not just moving forward. This is primarily, understanding of our own mistakes, correcting them, implementing new technologies and optimizing the existing things. In the official release 2015.1 one of the components that will make you happy will be the report viewer – StiMvcViewer. This component is a part of Stimulsoft Reports.Web.

We have optimized and grouped properties, added new controls, partially redesigned the user interface. Expanded support for the UI themes, and subsequently it will be possible to add and custom themes. The most striking possibility of a new viewer will be support for the touch interface. The viewer for MVC will be run on mobile devices.

MVC Viewer
StiMobileDesigner - ASP.NET компонент для создания и редактирования отчетов в браузере. В этой статье мы расскажем об использовании данного компонента на облачной платформе Azure.

В первую очередь стоит заметить, что компонент StiMobileDesigner основан на технологии клиент-сервер. На серверной стороне находится кэш, то есть ячейка для хранения информации с быстрым доступом. Из кэша можно в любой момент получить необходимый объект или же наоборот загрузить его в кэш. Но если загрузить дизайнер отчетов на Azure, то сохраняемый вариант объекта может быть сохранён в различных экземплярах сервера. Поэтому при сохранении отчета в различные экземпляры сервера в кэше возникает проблема его хранения. Для корректной работы необходимо, чтобы отчет сохранялся в один и тот же кэш.

Для решения этой проблемы наши разработчики создали класс StiCacheHelper для каждого из следующих компонентов: StiMvcMobileDesigner, StiMvcMobileViewer, StiMobileDesigner, StiMobileViewer и вынесли из дизайнера два внешних метода: SaveObjectToCache и GetObjectFromCache. Внутри этих методов пользователь может описать свое собственное сохранение в кэше и собственное изъятие объекта из кэша. Другими словами, необходимо переопределить метод и сохранять любые объекты в свой собственный кэш, что значительно упрощает и ускоряет работу с отчетами на облачной платформе Azure.

classStiAzureCacheHelper : StiMobileViewer.StiCacheHelper
{
    string SlsPath = RoleEnvironment.GetLocalResource("TestStorage").RootPath + "\\";
    public override void SaveObjectToCache(object obj, string guid)
    {
        byte[] cacheData = GetCacheDataFromObject(obj);
        System.IO.File.WriteAllBytes(SlsPath + guid, cacheData);
    }
    public override object GetObjectFromCache(string guid)
    {
        if (!System.IO.File.Exists(SlsPath + guid)) return null;
        byte[] cacheData = System.IO.File.ReadAllBytes(SlsPath + guid);
        return GetObjectFromCacheData(cacheData);
    }
}
StiMobileViewer1.CacheHelper = new StiAzureCacheHelper();