用的VS2008,上面水晶报表组建已经已用了,其他报表可以出来 但这个有问题
上面的临时变量 var =LoadURL 取到的参数是 http://localhost:58760/general/RptCenter/ReportLoadFromDB.aspx?id=245 但是到了下一句就出问题了。
代码如下:
<script language="javascript" type="text/javascript">  
        function getRootPath(){ 
             var strFullPath = window.document.location.href; 
             var strPath = window.document.location.pathname; 
             var pos = strFullPath.indexOf(strPath); 
             var prePath = strFullPath.substring(0, pos); 
             var postPath = strPath.substring(0, strPath.substr(0).indexOf("/") + 1); 
             return (prePath + postPath); 
         } 
         var Path = getRootPath() + 'general/RptCenter/';
         function Query() {
             var id = document.getElementById("Hid").value;
             if (id != '') {
                 var LoadURL = Path + "ReportLoadFromDB.aspx?id=" + id;
                 //ReportViewer.Stop();
                 var success = ReportViewer.Report.LoadFromURL(encodeURI(LoadURL));
                 if (success == true) {
                     var UserName = document.getElementById('HUserName').value;
                     var slStoreID = document.getElementById('HStoreId').value;
                     var slBdate = ''; if (document.getElementById('BDate')) slBdate = document.getElementById('BDate').value;                     /*加载数据--begin    
                     //添加参数 注意与sql里面的参数对应     
                     //Query 参数的类型为 `p1`p2`p3`p4`    
                     //SQL 参数的类型为 @para1,@para2,@para3,@para4,@para5,...   */                     var chkGid_1 = document.getElementById('HGroupCmpyID').value;
                     var chkStore_2 = document.getElementById('HStoreId').value;
                     var chkBdate_3 = document.getElementById('BDate').value;
                     var chkBdate_4 = document.getElementById('Edate').value;                     var paras1 = '`' + chkGid_1 + '`' + chkStore_2 + '`' + chkBdate_3 + '`' + chkBdate_4 + '`';                     /*设置报表参数 
                     取下拉列表框value and text 示例:
                     var getvalue=objs.options[objindex].value;  
                     var getTxt=objs.options[objindex].text; 
                     ReportViewer.Report.ParameterByName("value").AsString =getvalue; 
                     ReportViewer.Report.ParameterByName("text").AsString =getTxt; */                     ReportViewer.Report.ParameterByName("storename").AsString = document.getElementById('HStoreName').value;
                     ReportViewer.Report.ParameterByName("bdate").AsString = document.getElementById('BDate').value;
                     paras1 = paras1 + UserName + '`';                     var DataURL = encodeURI(Path + "ReportForDB.aspx?sid=" + slStoreID + "&bdate=" + slBdate + "&id=" + id + "&paras=" + paras1);
                     ReportViewer.DataURL = DataURL; ReportViewer.Start();
                     var toolbar = document.getElementById("HToolbar").value;
                     if (toolbar != '') {
                         var toolbarArr = toolbar.split(',');                         for (var i = 0; i < toolbarArr.length; i++) {
                             if (toolbarArr[i] != '') {
                                 var Arrindex = parseInt(toolbarArr[i]);
                                 ReportViewer.RemoveToolbarControl(Arrindex);
                             }
                         }
                         ReportViewer.UpdateToolbar();
                     } 
                 } else { alert('载入报表失败!'); } 
             } 
         }
 </script>