Передача значений полям параметров

Оценить
(0 голоса)

Одним из наиболее распространенных способов настройки во время выполнения является предоставление значений для полей параметров. Поскольку наличие в отчете полей параметров существенно увеличивает его гибкость, не исключено, что именно этот тип настройки во время выполнения вам придется выполнять чаще всего. Хотя объектная модель модуля просмотра и позволяет изменять значения полей параметров во время выполнения, вы можете предпочесть (или даже быть вынуждены) использовать для предоставления значений параметров во время выполнения объектную модель Report Engine. Если была установлена версия Crystal Reports XI, самой простой способ передать значение полю параметра предполагает использование метода SetParameterValue объекта отчета:

' Предоставление значения для поля параметра посредством объектной модели Report Engine

Report.SetParameterValue("Tax Rate", TaxRate)

Показанный здесь метод SetParameterValue принимает два аргумента: поле параметра, куда передается значение (на которое можно сослаться как по имени, так и с помощью индекса), и само передаваемое значение (в данном примере это переменная, тип которой уже где-то в коде приложения приводился в соответствие с типом данных поля параметра).

Метод SetParameterValue является достаточно гибким в том, что касается типов данных и типов полей параметров (таких как поля параметров с множественными значениями), которые он может обрабатывать. Он также может использоваться для передачи значений параметров в подчиненные отчеты. Более подробную информацию по данному вопросу можно найти в справочной системе Crystal Reports XI.

При наличии более сложных требований к параметрам, которые невозможно удовлетворить с помощью метода SetParameterValue, вы можете использовать дополнительный объект. Например, ниже показан фрагмент кода, устанавливающий значение для простого, запрашивающего только одно значение поля параметра:

Dim ParamValue As New ParameterDiscreteValue ' CrystalDecisions.Shared.ParameterDiscreteValue, если ' не используется оператор Imports ParamValue.Value = TaxRate

Report.ParameterFields("Tax Rate").CurrentValues.Add(ParamValue)

Здесь сначала создается экземпляр класса дискретного параметра для хранения запрашивающего только одно значение (дискретного) поля параметра. Далее свойству Value объекта в качестве значения присваивается переменная (тип которой, опять-таки, уже соответствующим образом определялся где-то в коде). Затем, наконец, объект параметра добавляется в существующую коллекцию CurrentValues поля параметров (которая для запрашивающего только одно значение поля параметра будет содержать только один элемент). Поле параметра может извлекаться из коллекции ParameterFields отчета либо по имени, либо по числовому индексу.

 

Передача текста текстовому объекту
Отчеты Crystal Reports как Web-службы XML
Создание Web-службы
Использование обслуживаемых Web-службой отчетов в Web-приложении
Связывание ПО URL-адросу с помощью свойства ReportSource

Добавить комментарий


Защитный код
Обновить