Boa tarde pessoal.
Estou tentando fazer um relatório com filtro, porem nunca fiz relatório com filtro, vi algumas coisas na net e estou tentando passar as duas datas.
As duas datas vem de dois datetimerpicker de um outro Form, ou seja, quando clico no botão para abrir o form com o relatorio, gostaria ja de filtrar com o intervalo entre essas duas datas.
Estou tentando passar a datainicial e a datafinal, porem da um erro de sobrecarga.
Antes, eu chamava a procedure, normal e carregava tudo no relatório, porem agora tentando passar os dois parâmetros, não vai.
private void frmRelatorioRenovacao_Load(object sender, EventArgs e)
{
try
{
this.sp_relatorioTableAdapter.Fill(this.dbseguradoraDataSet1.sp_relatorio, DataInicio, DataFim);
this.reportViewer1.RefreshReport();
}
catch
{
this.reportViewer1.RefreshReport();
}
}
A procedure de consulta por filtro com datas. Ela funciona normal. Está correta.
create proc sp_relatorio
@datainicial datetime,
@datafinal datetime
as
select r.finalvigencia as Renovacao, c.nome as Nome, r.tiposeguro as TipoSeguro, s.nome as Seguradora, r.detalhes as Detalhes
from tabCliente as C
join tabRenovacao as R on c.idcliente = r.idcliente
join tabSeguradora as S on r.idseguradora = s.idseguradora
where r.finalvigencia between @datainicial and @datafinal
order by r.finalvigencia asc
O que eu não sei fazer é como clicar no botão para chamar a tela do relatorio e passar as duas datas.
Alguém pode me ajudar?
private void btnRelatorio_Click(object sender, EventArgs e)
{
frmRelatorioRenovacao frmrelatoriorenovacao = new frmRelatorioRenovacao();
frmrelatoriorenovacao.DataInicio = this.dtpDataInicio.Value;
frmrelatoriorenovacao.DataFim = this.dtpDataFim.Value;
frmrelatoriorenovacao.ShowDialog();
}