Поскольку spCustomers является параметризированной хранимой
Поскольку spCustomers является параметризированной хранимой процедурой, генератор отчетов Crystal Reports for Visual Studio .NET автоматически добавит в ваш отчет поле для параметров Crystal Reports с именем параметра хранимой процедуры. Чтобы в этом убедиться, разверните в окне Field Explorer узел Parameter Fields. Справа под ним вы увидите поле с параметром @CustPattern (см. рис.8).
Рис. 8. Параметры
Теперь вы можете установить cvwMain.ReportSource как на этапе разработки, так и в самой программе, указав на rpt-файл или на экземпляр cbsMain разработчика компонентов ReportDocument. При запуске приложения генератор отчетов Crystal Reports for Visual Studio .NET автоматически откроет диалоговое окно, запрашивающее значение параметра @CustPattern. Введите любую понравившуюся вам строку, чтобы генератор отчетов подключал только тех клиентов, у которых значение поля CompanyName будет начинаться с этой строки.
Не смотря на то, что генератор отчетов Crystal Reports for Visual Studio .NET может запросить значения параметров и запустить отчет без написания программного кода, в большинстве случаев желательно, чтобы эти значения запрашивались у приложений и передавались в отчет программным путем. На рисунке 9 приведена программа, необходимая для программного присваивания значений параметров с помощью объектной модели Crystal Reports. В этой программе я снова использовал произвольное значение "A", присвоив его параметру pdvCustPattern.
Private Sub frmViewReport_Load(ByVal sender As Object, ByVal e As _ System.EventArgs) Handles MyBase.Load
Dim pvCustPattern As New CrystalDecisions.Shared.ParameterValues() Dim pdvCustPattern As New _ CrystalDecisions.Shared.ParameterDiscreteValue()
pdvCustPattern.Value = "A" pvCustPattern.Add(pdvCustPattern) cbsMain.DataDefinition.ParameterFields _ ("@CustPattern").ApplyCurrentValues(pvCustPattern)
cvwMain.ReportSource = cbsMain
End Sub
|
Рис. 9. Назначение параметров
Относительно этой программы необходимо сделать ряд замечаний.
Содержание Назад Вперед