Asp.net 为什么reportviewer渲染要花这么长时间
和往常一样,我使用的是Asp.net 为什么reportviewer渲染要花这么长时间,asp.net,Asp.net,和往常一样,我使用的是ReportViewer,这是我第一次用这么长时间来渲染 这里的任何人都能告诉我可能是什么吗? 下面的代码显示了我是如何输入我的reportviewer ReportParameter param = new ReportParameter("USR", usr); ReportViewer1.LocalReport.SetParameters(param); ReportViewer1.LocalReport.ReportPath = "MyRep
ReportViewer
,这是我第一次用这么长时间来渲染
这里的任何人都能告诉我可能是什么吗?
下面的代码显示了我是如何输入我的reportviewer
ReportParameter param = new ReportParameter("USR", usr);
ReportViewer1.LocalReport.SetParameters(param);
ReportViewer1.LocalReport.ReportPath = "MyReport.rdlc";
DataSet ds = _rel.FeedDS(rel);
ReportDataSource rds = new ReportDataSource("my_ds", ds.Tables[0]);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.DataBind();
ReportViewer1.LocalReport.Refresh();
paineel.Visible = true;
ReportViewer1.Width = 640;
public DataSet FeedDS(Reports rel)
{
rel.Dt_Inicial += " 00:00:00";
rel.Dt_Final += " 23:59:59";
DataSet retorno = new DataSet();
string sql = @"SELECT proj.descricao AS projeto, func.descricao AS funcionalidade, clb.clube AS cliente, ch.descricao
FROM mytable ch
INNER JOIN projetos proj ON ch.projeto = proj.id
INNER JOIN funcionalidades func ON ch.funcionalidade = func.id
INNER JOIN clubes clb ON ch.clube = clb.id
WHERE ch.dt_cadastro BETWEEN @dt_inicial AND @dt_final";
MySqlCommand cmd = new MySqlCommand();
cmd.CommandType = CommandType.Text;
try
{
cmd.CommandText = sql;
cmd.Parameters.Add(new MySqlParameter("@dt_inicial", MySqlDbType.DateTime)).Value = rel.Dt_Inicial;
cmd.Parameters.Add(new MySqlParameter("@dt_final", MySqlDbType.DateTime)).Value = rel.Dt_Final;
retorno = _dal.Consultar(cmd);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return retorno;
}
Obs:在我输入数据集
之前,在FeedDS
方法中,我有7个IFs/Elses
条件,我不知道这是否是问题所在…因为报表查看器很烂!现在,说真的。。你的查询要花多少时间?@Gonzalo。-有一次我尝试了CrystalReport
,但没有成功,我想这不是免费的。。。好的,它需要花费10秒+
才能得到12行4列的结果,
…只有查询需要10秒?完整的渲染需要多少时间?@Gonzalo.“'ReportViewer'只需10秒
即可显示,但显示结果还需要几秒钟。它在加载…
屏幕上停留了几秒钟。