| Jan |
| Advanced Member |
|
|
|
|
| None Specified |
|
| Thursday, February 19, 2009 |
| Saturday, August 28, 2010 12:08:03 PM |
401 [7.13% of all post / 0.70 posts per day] |
|
Здравствуйте,
Quote:Я начинающий и много вопросов возникает по ходу выполнения задач. Чтоб снизить нагрузку на поддержку у меня вопрос - где я могу прочитать детальное описание назначения методов и примеры их использования? В StiReport.chm нет примеров использвания классов.
Посмотрите developer FAQ, который доступен в разделе Documentation на нашем сайте. Также стоит поискать ответы на вопросы по нашим форумам, там накоплена достаточно большая база знаний.
Quote:Например у меня "каша" и разных проб и ошибок в попытках регистрации нескольких "DataSources". Я использовал "Dictionary.DataSources.Add", а сейчас вы открыли для меня использование "RegData" (который я еще не пробовал). В чем разница между "RegData" и "Dictionary.DataSources.Add"? Или это абсолютно разные методы?
Dictionary.DataSources это коллекция мета-описаний источников данных в отчете. Это то, что Вы видите в словаре данных в дизайнере отчетов. Метод RegData регистрирует данных из программы в хранилище данных отчета. Они не становятся автоматически доступны в словаре данных отчета. Нужно произвести синхронизацию данных между словарем данных и хранилищем данных. Мета-описания источников не изменяются автоматически с изменением данных в хранилище данных. Т.е. нужна синхронизация при изменении данных. Такое раздельное хранение нужно для того, чтобы можно было осуществлять редактирование отчета без наличия реальных данных.
Quote:Есть ли примеры правильного кодирования Stimulsoft Reports? Моя текущая задача - дать пользователю работающему с данными из MS SQL Server DB список доступных таблиц (со связями) и полей при создании нового или редактировании существующего отчета.
В данном случае, Вам проще всего сформировать DataSet в Вашей программе и потом передать их в отчет при помощи метода RegData. В этом случае дизайнер отчетов при старте автоматически выполнит синхронизацию мета-описаний источников данных и передаваемых данных. Также будут созданы мета-описания связей между источниками данных.
Спасибо.
|
Здравствуйте,
У источника данных, который используется для построения дерева, можно вызвать метод GetLevel(). К примеру:
Code:{MyDataSource.GetLevel()}
Спасибо.
|
Здравствуйте,
Quote:Подскажите, пожалуйста - поддерживает ли StiWebViewer (HTML-версия, не Flash) печать сразу из окна предварительного просмотра?
Да. Есть режим печати DirectPrint. При нажатии на кнопку Print, формируется Html страница и дается команда браузеру напечатать ее. После нажатия сразу отображается диалог печати.
Quote:И есть ли какой-то список ограничений при использовании StiWebViewer вместо StiWebViewerFx (как нужно готовить отчет таким образом, чтобы он "нормально" отображался на клиенте при использовании StiWebViewer-а)?
StiWebViewer использует DHTML для отображения отчетов. Отчет отображается при помощи Html элементов.
Спасибо.
|
Здравствуйте,
К сожалению, поправить эти проблемы мы пока не можем. Дело в том, что Flash предлагает только один способ печати - печать картинки. Это все, что доступно нам на текущий момент.
Спасибо.
|
Здравствуйте,
Сделаем для Вас билд на следующей неделе.
Спасибо.
|
Здравствуйте,
Мы произвели некоторые доработки в ядре построения компонента Cross-Tab. Изменения будут доступны в билде от 16 августа.
Спасибо.
|
Здравствуйте,
К сожалению, встроенной функции для данной задачи нет. Можно решить ее следующим образом:
1. Добавьте следующие строки в код отчета:
Code:using System; using System.Drawing; using System.Windows.Forms; using System.Data; using Stimulsoft.Controls; using Stimulsoft.Base.Drawing; using Stimulsoft.Report; using Stimulsoft.Report.Dialogs; using Stimulsoft.Report.Components; using System.Collections;//<<<<<<<<<<<<<<<<<<<<
public class Report : Stimulsoft.Report.StiReport { Hashtable hash = new Hashtable(); decimal value = 0; public Report() { this.InitializeComponent(); }
2. Добавьте следующий код в событие Rendering датабэнда:
Code: if (hash[MyDataSource.Field] == null) { hash[MyDataSource.Field] = MyDataSource.Field; value += MyDataSource.Field; }
3. В текстбоксе, где нужно вывести итог:
4. У текстбокса, который выводит итог, установите свойство ProcessAtEnd в true.
Спасибо.
|
Здравствуйте,
Расчет итогов по странице полностью переработан. Изменения будут доступны в билде от 16 августа.
Спасибо.
|
Здравствуйте,
Эту сборку нужно подключать с полным путем. К примеру:
C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.Linq.dll
Либо загрузите ее в память предварительно.
Спасибо.
|
Здравствуйте,
Имя отчета хранится в свойстве ReportName. Имя файла, из которого был загружен отчет, хранится в свойстве ReportFile отчета.
Спасибо.
|
|