国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

在crystalReport(水晶報表)動態輸入參數(轉)

2024-07-21 02:23:53
字體:
來源:轉載
供稿:網友
命名空間為:using crystaldecisions.shared        

private void buildreportviewerparameters(crystaldecisions.web.crystalreportviewer rptviewer, hashtable paramtable)
        {
            //定義報表視圖的參數的方法
            parameterfields paramfields = new parameterfields();
            foreach (object key in paramtable.keys)
            {
                parameterfield paramfield = new parameterfield();
                parametervalues paramvalues = new parametervalues();
                parameterdiscretevalue paramvalue = new parameterdiscretevalue();
                paramvalue.value = paramtable[key].tostring();
                paramvalues.add(paramvalue);
                paramfield.parameterfieldname = key.tostring();
                paramfield.currentvalues = paramvalues;
                paramfields.add(paramfield);
            }
            rptviewer.parameterfieldinfo = paramfields;
        }

        private void buildreportclassparameters(crystaldecisions.crystalreports.engine.reportclass rpt, hashtable paramtable)
        {
            //定義報表類的參數的方法
            foreach (object key in paramtable.keys)
            {
                parametervalues paramvalues = new parametervalues();
                parameterdiscretevalue paramvalue = new parameterdiscretevalue();
                paramvalue.value = paramtable[key].tostring();
                paramvalues.add(paramvalue);
                rpt.datadefinition.parameterfields[key.tostring()].applycurrentvalues(paramvalues);
            }
        }
        
        protected void buildreportparameters(crystaldecisions.web.crystalreportviewer rpt,hashtable paramtable)
        {
            //定義報表參數的方法
            parameterfields paramfields = new parameterfields();

            foreach(object key in paramtable.keys)
            {
                parameterfield paramfield;
                parametervalues paramvalues;
                parameterdiscretevalue paramvalue;

                paramfield = new parameterfield();
                paramvalues = new parametervalues();
                paramvalue = new parameterdiscretevalue();

                paramvalue.value = (string)paramtable[key];
                paramvalues.add(paramvalue);
                paramfield.parameterfieldname=(string)key;
                paramfield.currentvalues = paramvalues;
                paramfields.add(paramfield);
            }
            rpt.parameterfieldinfo = paramfields;
        }  


然后再你的需要調用參數的地方,加如下引用:

private void button_output_click(object sender, system.eventargs e)
        {
            crystaldecisions.shared.tablelogoninfo loginfo = new crystaldecisions.shared.tablelogoninfo();  //設置報表的登錄信息
            loginfo.connectioninfo.servername = "angel";  //設置報表與庫的連接信息
            loginfo.connectioninfo.databasename = "kaoqin";
            loginfo.tablename = "emstatistic";
            loginfo.connectioninfo.userid = "sa";
            loginfo.connectioninfo.password = "";
            crystalreportviewer1.reportsource = server.mappath("cr_aa.rpt"); //指定報表的數據源
            crystalreportviewer1.logoninfo.add(loginfo);//對參數進行賦什值
    //        crystalreportviewer1.databind();

            //聲明變量并獲取導出選項
            cr_aa myreport = new cr_aa();  //定義一個名為myreport的報表
            myreport.database.tables[0].applylogoninfo(loginfo);  
            crystalreportviewer1.reportsource = myreport;
            crystalreportviewer1.databind();   

            hashtable t = new hashtable();    
            t.add("p_st_month", textmonth.text);  //為參數賦值
            buildreportparameters(crystalreportviewer1, t);  //調用建立報表參數的方法  
            buildreportviewerparameters(crystalreportviewer1, t);   //給報表瀏覽器添加參數
            buildreportclassparameters(myreport, t);  //給報表類添加參數   

            crystaldecisions.shared.diskfiledestinationoptions diskopts = new crystaldecisions.shared.diskfiledestinationoptions();
            //設置導出格式
            myreport.exportoptions.exportdestinationtype = crystaldecisions.shared.exportdestinationtype.diskfile;
            myreport.exportoptions.exportformattype = crystaldecisions.shared.exportformattype.excel;
            //設置磁盤文件選項
            diskopts.diskfilename = "c://documents and settings//administrator//my documents//kaoqin_rpt.xls";   
            myreport.exportoptions.destinationoptions = diskopts;
            myreport.export();
            response.write("<script language='javascript'>alert('您已經將報表成功輸出到excel文件'); window.location.href='customrpt.aspx';</" + "script>");
        }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 那曲县| 阿勒泰市| 庆元县| 怀仁县| 元阳县| 平顶山市| 诸城市| 阿瓦提县| 资溪县| 彰化县| 富顺县| 久治县| 南澳县| 浑源县| 郓城县| 承德县| 仪陇县| 东乡族自治县| 景德镇市| 漳平市| 仙桃市| 家居| 拉萨市| 赤水市| 北安市| 白水县| 清徐县| 营口市| 舟山市| 乌兰察布市| 邢台县| 大化| 斗六市| 神农架林区| 九江县| 文山县| 南昌县| 建昌县| 米易县| 武鸣县| 土默特右旗|