我在 jquery 中调用这个静态 web 方法,并在 jquery 的帮助下填充表格数据成功显示在表格中。在网页表单页面中有一个下拉菜单和两个日期选择器(从日期到日期),根据这些值的选择数据现在显示在表格中我想在点击导出按钮然后点击表格数据时创建水晶报告,下拉值和日期选择器值将显示在报告中
我将 dt 存储在会话中并调用想要在水晶报告中调用的人,并在水晶报告中添加水晶报告查看器
我有网络静态网络方法,即
[WebMethod]
public static string search_data(DateTime fromdate, DateTime todate, string region)
{
try
{
string result = "";
Ts1 td = new T1();
DateTime frDate = new DateTime(fromdate.Year, fromdate.Month, fromdate.Day, 0, 0, 0);
DateTime to_Date = new DateTime(todate.Year, todate.Month, todate.Day, 23, 59, 59);
List<griddataresult_Result> dq = td.griddataresult(frDate, to_Date, region).ToList();
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("OwnerName", typeof(string));
dt.Columns.Add("RegNo", typeof(string));
foreach (var c in dq)
{
dt.Rows.Add(c.ID, c.OwnerName, c.RegNo);
}
DataTable dtt= (DataTable)HttpContext.Current.Session["datagrid"];
result = DataSetToJSON(dt);
return result;
}
catch (Exception)
{
throw new Exception();
}
}
更新
现在我在网络表单中添加这个
private void BindReport(ReportDocument crystalReport, DateTime fromdate, DateTime todate, string region)
{
TrackDataEntities1 t = new TrackDataEntities1();
crystalReport.Load(Server.MapPath("data.rpt"));
List<griddataresult_Result> dsc = t.griddataresult(fromdate, todate, region).ToList();
crystalReport.SetDataSource(dsc);
CrystalReportViewer1.ReportSource = crystalReport;
}
protected void Report_Click(object sender, EventArgs e)
{
DataTable dt = Session["datagrid"] as DataTable;
ReportDocument crystalReport = new ReportDocument();
//crystalReport.SetParameterValue("@fromdate", fromdate.Value);
//crystalReport.SetParameterValue("@todate", todate.Value);
//crystalReport.SetParameterValue("@region", regiondrop.SelectedValue);
BindReport(crystalReport,Convert.ToDateTime(fromdate.Value), Convert.ToDateTime(todate.Value), regiondrop.SelectedValue);
}
当我点击搜索然后显示表格数据然后当我点击报告按钮表格消失并显示空白报告