Условие на выборку записей из базы данных можно задавать не только применением полей параметров.
Для этого можно использовать возможность указания условия выбора в файле отчета rpt или при помощи объекта CrystalReportViewer.
В данном примере реализуем обе возможности.
Создадим новый файл отчета crystal_inreport.rpt. В качестве источника данных укажем таблицу Customers базы NorthWind вашего сервера. Через Report Expert в качестве полей, используемых в отчете, укажем следующие поля: CompanyName, ContactName, Address, City, Region. Country.
Для указания условия выбора будем использовать диалог условия выбора записей отчета. Для этого щелкнем правой клавишей мыши на поле отчета и выберем Report -> Edit Selection Formula -> Records. Откроется окно Record Selection Formula Editor. В поле для ввода условия введите {Customers.Country}='Usa' . Для ввода условия можно воспользоваться деревом элементов Report Fields. Данное условие выбирает всех продавцов, проживающих в Америке и эквивалентно условию where в операторе select.
Для указания условия выбора записей при помощи объекта CrystalReportViewer создадим новый файл connect_outreport.rpt, подключим к нему базу NorthWind и укажем в качестве источника данных те же таблицы и поля.
Далее создадим новую страницу connect_filter.aspx, в которую добавим два объекта типа Button и один объект типа CrystalReportViewer.
Одному объекту типа Button дадим название btnInFilter и в качестве отклика на нажатие мыши введем следующий код
Private Sub btnInReport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btnInReport.Click
Dim log As New TableLogOnInfo Dim ci As New
ConnectionInfo crFilter.Visible = True
ci.ServerName = ConfigurationSettings.AppSettings("server") ci.DatabaseName = ConfigurationSettings.AppSettings("database") ci.UserID = ConfigurationSettings.AppSettings("user") ci.Password = ConfigurationSettings.AppSettings("password") log.ConnectionInfo = ci
Dim tbs As