rdlc砖取出现尚未为数据源“ModelProCity_ModelProvCity”提供数据源实例。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BLL;
using Microsoft.Reporting.WebForms;
namespace Web
{
public partial class ModelProvinceResult : System.Web.UI.Page
{
public DataSet dDs = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
ModelProvince();
this.lbl_datetime.Text = "从" + Request["sStarttime"].ToString() + "到" + Request["sEndtime"].ToString();
}
}
public DataSet ModelProDataSet()
{
string sStarttime = Request["sStarttime"].ToString();
string sEndtime = Request["sEndtime"].ToString();
string sProvince = Request["sProvince"].ToString();
string sModeName = Request["sModeName"].ToString();
B_Sms bSms = new B_Sms();
dDs = bSms.ModelProvince(sStarttime, sEndtime, sProvince, sModeName);
return dDs;
}
/// <summary>
/// 按时间机型省份查询出来的结果
/// </summary>
public void ModelProvince()
{
ModelProDataSet();
if (dDs.Tables[0].Rows.Count != 0)
{
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModelProvince.rdlc";
this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("modpromyds",
this.dDs.Tables[0]));
this.ReportViewer1.DataBind();
this.lbl_dataMess.Text = "";
}
else
{
this.ReportViewer1.Visible = false;
this.lbl_dataMess.Text = "没有记录!";
}
}
protected void btn_TotalImage_Click(object sender, EventArgs e)
{
///统计图形
this.btn_TotalImage.Visible = true;
this.btn_PrintReport.Visible = true;
this.btn_cancle.Visible = true;
this.btn_windowclose.Visible = true;
this.DrpDown_Image.Visible = true;
this.ReportViewer1.Reset();
ModelProDataSet();
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModProColumn.rdlc";
this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("myds",
this.dDs.Tables[0]));
this.ReportViewer1.DataBind();
}
protected void btn_cancle_Click(object sender, EventArgs e)
{
///取消
Response.Redirect("ModelProvince.aspx");
}
protected void DrpDown_Image_SelectedIndexChanged(object sender, EventArgs e)
{
///下拉列表变化图表变化
ModelProDataSet();
this.ReportViewer1.Reset();
string stype = this.DrpDown_Image.SelectedItem.Text;
if (stype.Equals("柱状累积图"))
{
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModProColumn.rdlc";
}
else if (stype.Equals("柱状比较图"))
{
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModProColCompare.rdlc";
}
else if (stype.Equals("折线图"))
{
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModProLine.rdlc";
}
else if (stype.Equals("曲线图"))
{
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModProCurve.rdlc";
}
else if (stype.Equals("面积图"))
{
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModProArea.rdlc";
}
else if (stype.Equals("面积比例图"))
{
this.ReportViewer1.LocalReport.ReportPath = "ReportOperator/ModProArearat.rdlc";
}
this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("myds",
this.dDs.Tables[0]));
this.ReportViewer1.DataBind();
}
protected void btn_PrintReport_Click1(object sender, EventArgs e)
{
///打印报表
this.DrpDown_Image.Visible = false;
this.btn_cancle.Visible = false;
this.btn_PrintReport.Visible = false;
this.btn_TotalImage.Visible = false;
this.btn_windowclose.Visible = true;
this.ReportViewer1.Reset();
ModelProvince();
}
protected void btn_windowclose_Click(object sender, EventArgs e)
{
///关闭窗口
this.btn_windowclose.Visible = false;
this.btn_cancle.Visible = true;
this.btn_PrintReport.Visible = true;
this.btn_TotalImage.Visible = true;
this.DrpDown_Image.Visible = true;
this.DrpDown_Image.Visible = false;
this.ReportViewer1.Reset();
ModelProvince();
}
protected void ReportViewer1_Drillthrough(object sender, DrillthroughEventArgs e)
{
LocalReport lp = (LocalReport)e.Report;
string province = lp.GetParameters()["prov"].Values[0].Trim();
string types = lp.GetParameters()["types"].Values[0].Trim();
if (types == "省份")
{
lp.DataSources.Clear();
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ModelProCity_ModelProvCity", ModelProvCityDataTable(province)));
}
else
{
lp.DataSources.Clear();
this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("ModelProvRound_ModelProvRound", ModelProvRoundDataTable(province)));
}
}
public DataTable ModelProvRoundDataTable(string Province)
{
B_Sms bSms = new B_Sms();
return bSms.ModeProvinceRound(Province).Tables[0];
}
public DataTable ModelProvCityDataTable(string Province)
{
B_Sms bSms = new B_Sms();
return bSms.ModeProvinceCity(Province).Tables[0];
}
}
}
其中报错
protected void ReportViewer1_Drillthrough(object sender, DrillthroughEventArgs e)
{
LocalReport lp = (LocalReport)e.Report;
string province = lp.GetParameters()["prov"].Values[0].Trim();
string types = lp.GetParameters()["types"].Values[0].Trim();
if (types == "省份")
{
lp.DataSources.Clear();
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ModelProCity_ModelProvCity", ModelProvCityDataTable(province)));
}
else
{
lp.DataSources.Clear();
this.ReportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("ModelProvRound_ModelProvRound", ModelProvRoundDataTable(province)));
}这里保存报“尚未为数据源“ModelProCity_ModelProvCity”提供数据源实例。”