Добрый день! Столкнулась со странным поведении FastReport - Добавляю на закладку Data несколько датасетов. При этом страницу Page пока оставляю пустой. При добавлении и связке двух датасетов - предпросмотр FastReport отображает чистый лист (что логично), а при добавлении третьего, даже если его ни к чему не привязывать - предпросмотр лист не показывает. Все просто серое.
С чем это может быть связано?
Нравится
Алена, не смогли воспроизвести описанную Вами проблему в базовой версии Terrasoft. Функционал тестировался на бинарных файлах 3.3.2.127 и 3.3.2.238.
Попробуйте очистить папку Cache. Если проблема воспроизведется, проверьте, пожалуйста, корректно ли создан третий датасет (запрос, используемый для построения датасета).
"Яворский Алексей" написал:Если проблема воспроизведется, проверьте, пожалуйста, корректно ли создан третий датасет (запрос, используемый для построения датасета).
Алексей, а как можно это проверить?
Выборка там, действительно сложная.
Могу привести код SelectQuery, с которым связан датасет:
SELECT [tbl_Vendor].[Name] AS [Name], [tbl_Vendor].[FullName] AS [FullName], [tbl_Vendor].[Sertificate] AS [Sertificate] FROM [dbo].[tbl_Vendor] AS [tbl_Vendor] WHERE([tbl_Vendor].[ID] IN (SELECT DISTINCT [tbl_Offering].[VendorID] AS [VendorID] FROM [dbo].[tbl_Offering] AS [tbl_Offering] LEFT OUTER JOIN [dbo].[tbl_OfferingInContract] AS [tbl_OfferingInContract] ON [tbl_OfferingInContract].[OfferingID] = [tbl_Offering].[ID] LEFT OUTER JOIN [dbo].[tbl_Contract] AS [tbl_Contract] ON [tbl_Contract].[ID] = [tbl_OfferingInContract].[ContractID] WHERE([tbl_Contract].[ID] = :ID)))
Дело в том, что предпросмотр перестает работать даже в том случае, если к Датасету фастрепорта не указать USI вообще, то есть, вероятно, проблема не в запросе...
"Алёна Овсянникова" написал:Алексей, а как можно это проверить?
Я имел ввиду такие самые простые вещи, в которых можно ошибиться при создании датасета, к примеру не указать SQ, ошибиться в колонках, проверить это можно создав окно, унаследовать его от wnd_BaseGridArea,указать в dlData датасет который мы хотим проверить, создать DataGridView, определить колонки, указать ActiveView = DataGridView , на OnPrepare окна следует написать открытие датасета ( dlData.Dataset.Open(); ).
Компонент FastReport встроен в бинарные файлы, предлагаю вам обновить бинарные файлы до 3.3.2.231, это может решить задачу.
При проверке даже если не указать USI датасета, page выводится.