http://www.e-bluefield.com/dotnet8/article/list.asp?id=19

解决方案 »

  1.   

    ReportDocument oRpt = new ReportDocument();
    //获取.rpt文件真实路径
    string path1,path2;
    path1=Server.MapPath ("\\虚拟路径名");
    path2=path1+"\\报表名.rpt";
    oRpt.Load (path2);
    DataSet dataset = null;
    string sqlQuery = "select * from SpeComAud_Master where s=@s ";
    sqlCommand1.CommandText = sqlQuery;
    sqlCommand1.Parameters.Add("@s","你要查询的值");
    sqlConnection1.Open();
    SqlDataReader sqlDataReader = sqlCommand1.ExecuteReader();
    CrystalReportViewer1.ReportSource = oRpt;
    if (sqlDataReader.Read())
    {
         TextObject txtObject;// 报表的文本对象
         txtObject=oRpt.ReportDefinition.ReportObjects["你要动态改变的text的名称"] as TextObject;//找到文本对象
    if (txtObject!= null)
       {
    txtObject.Text = sqlDataReader["s"].ToString();//赋值
       }oRpt.PrintOptions.PaperSize =CrystalDecisions.Shared.PaperSize.PaperA4;
    PageMargins margins;
    // 获取 PageMargins 结构并设置
    // 报表的边距。
    margins = oRpt.PrintOptions.PageMargins;
    margins.bottomMargin = 0;
    margins.leftMargin = 0;
    margins.rightMargin = 0;
    margins.topMargin = 0;
    // 应用页边距。
    oRpt.PrintOptions.ApplyPageMargins(margins);
    }
      

  2.   

    楼上的hhhrrrttt(臭咸带鱼_WQ),如何把水警报与数据库连接起来?谢谢!
      

  3.   

    DataSet DS=new DataSet();
    if(cbXh.Enabled==false)
    BkMage.SetSeleCmd(cbZym.Text ,cbXq.Text,"",true );
    else
    BkMage.SetSeleCmd(cbZym.Text,cbXq.Text,cbXh.Text,false);    
    BkInfo.DataSource=BkMage.GetDataView();
    DS=BkMage.GetDataSet ();
    AdultMag.rptBK rpt=new AdultMag.rptBK();
    rpt.SetDataSource(DS.Tables["BkCj"]);
    CRViewer.ReportSource=rpt;
    if (BkMage.GetDataView().Count==0 )
    MessageBox.Show("当前无任何记录!","信息");