MS ReportViewer в ASP.Net, как передать значения параметров - PullRequest
1 голос
/ 11 сентября 2011

В моем проекте ASP.Net я добавил отчет с данными и подключился к Dataset. Он работает нормально, но у меня есть две проблемы:

1) Я хочу загрузить отчет после нажатия, скажем, кнопки на странице, содержащей MSReportViwer. это кнопка Показать отчет. На данный момент отчет загружается только при загрузке формы.

2) Я хочу передать некоторые значения параметров в запрос sql, генерирующий отчет.

Например

Где Name=@NM and City=@CT значения NM и CT указываются в текстовых полях той же формы. После этого я нажимаю кнопку 'Show Report', и должен отобразиться отчет.

Посоветуйте, пожалуйста, как это сделать. Спасибо

1 Ответ

0 голосов
/ 14 сентября 2011

Создайте кнопку и поместите ее в форму.Двойной щелчок по нему создаст событие щелчка:

private void button_Click(object sender, EventArgs e)
{
   this.thenameofyourtableadapter.Fill(this.yourdataset.thenameofyourdatatable);
                this.thenameofyourreportviewer.RefreshReport();    
}

Переместить строку кода tableadapter / dataset внутрь этого события (как показано выше).

Что касается передачи параметрак набору данных:

Перейдите к самому набору данных и найдите табличный адаптер, который заполняет вашу таблицу данных.Если вы хотите изменить запрос, который вы используете в настоящее время, чтобы включить параметры, нажмите настроить текущий запрос, как показано здесь .

Новый запрос будет выглядеть примерно так: выбрать * из клиентов, гдеИмя = @ NM и Город = @ CT.

Затем вам нужно вернуться к приведенному выше коду, где вы заполняли свой табличный адаптер (при нажатии кнопки), и изменить его, чтобы получить параметры из других элементов управления,например, текстовое поле:

private void button_Click(object sender, EventArgs e)
{
      this.thenameofyourtableadapter.Fill(this.yourdataset.thenameofyourdatatable,Textbox1.Text,Textbox2.Text);
                this.thenameofyourreportviewer.RefreshReport();    
}

Это приведет к тому, что в вашем отчете будут отображаться только результаты, основанные на параметрах, которые вы его передаете.

...