| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 758 人关注过本帖
标题:水晶报表的问题
只看楼主 加入收藏
zhishiouran
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2006-10-15
收藏
 问题点数:0 回复次数:4 
水晶报表的问题
怎么让水晶报表按条件执行,我用datagrid来查看某一条数据的报表,但是显示了全部数据,不知道为什么?
搜索更多相关主题的帖子: 水晶 
2008-07-01 17:02
zhishiouran
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2006-10-15
收藏
得分:0 
private void Page_Load(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
            this.myRPDoc = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            
            if (!this.IsPostBack)        //页面首次加载时执行
            {
                                    
                string str="";                
                if (Request.QueryString["ID"]!=null)                //如果传递的参数不为空
                {
                    str=Request.QueryString["ID"].ToString();    //取出传递过来的参数ID
                    //BindData(str);
                    this.PageBind (str);
                    
                }    
            }
        }

        #region Web 窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: 该调用是 Web 窗体设计器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }
        
        /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {   
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion
        private void PageBind(string str)
        {
            String   sqlComm = "select id,sq_department,sq_time,sq_people,shenhe_people,shenhe_time,pizhun_people,pizhun_time,excute_department,excute_time,wz_name,wz_xh,wz_danwei,sq_num,hezhun_num,beizhu from [lsh_cg_plan] where temp_cg_id = '"+str+"'";

            this.myRPDoc.Load( Server.MapPath( "CryReports/temp_caigou.rpt" ) );
            //SqlConnection myConn = new SqlConnection( "server=192.168.200.116;database=asset;User Id=sa;pwd=sa" );
            //string con = ConfigurationSettings.AppSettings["DBConnectionString"];
            string con = "server=(local);database=lyjxc;User id=sa;Pwd=''";
            SqlConnection myConn = new SqlConnection (con);
            myConn.Open ();
            DataSet myDs = new DataSet();
            this.getTableData( sqlComm,ref myDs,"lsh_cg_plan",myConn );
            this.myRPDoc.SetDataSource( myDs );
            this.CrystalReportViewer1.ReportSource = this.myRPDoc;
            this.CrystalReportViewer1.DataBind();
            myConn.Close ();
        }

        protected bool getTableData( String strCommand , ref DataSet myDataSet , String TableName , SqlConnection sqlConn )
        {
            bool returnValue = true;
            SqlCommand myCommand = new SqlCommand( strCommand,sqlConn );
            SqlDataAdapter myAdapter = new SqlDataAdapter( myCommand );
            try
            {
                myAdapter.Fill( myDataSet,TableName );
            }
            catch
            {
                returnValue = false;
            }
            return returnValue;
        }

2008-07-01 17:03
zhishiouran
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2006-10-15
收藏
得分:0 
怎么没人回答啊,急 啊

2008-07-02 13:16
hebingbing
Rank: 6Rank: 6
来 自:黄土高坡
等 级:贵宾
威 望:27
帖 子:3417
专家分:371
注 册:2007-10-22
收藏
得分:0 
  DataSet myDs = new DataSet();
            this.getTableData( sqlComm,ref myDs,"lsh_cg_plan",myConn );//这个函数本来是有返回值的,但是你好像没有用它的返回值啊,虽然这影响并不大……
            this.myRPDoc.SetDataSource( myDs );//这里你是不是应该用myDs中的lsh_cg_plan表的,既然要用这个表那为什么要用myDs呢?不知道你的myRPDoc.SetDataSource方法是怎么写的……
2008-07-02 18:53
zhishiouran
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2006-10-15
收藏
得分:0 
我没用这个myRPDoc.SetDataSource(),这个代码是拿别人的,我自己也没看懂是怎么回事,但是我看别人用的很好啊

2008-07-03 13:50
快速回复:水晶报表的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017927 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved