|
|
//由三原色值合成颜色整数值
|
|
|
function ColorFromRGB(red, green, blue)
|
|
|
{
|
|
|
return red + green*256 + blue*256*256;
|
|
|
}
|
|
|
|
|
|
//获取颜色中的红色值,传入参数为整数表示的RGB值
|
|
|
function ColorGetR(intColor)
|
|
|
{
|
|
|
return intColor & 255;
|
|
|
}
|
|
|
|
|
|
//获取颜色中的绿色值,传入参数为整数表示的RGB值
|
|
|
function ColorGetG(intColor)
|
|
|
{
|
|
|
//return intColor & 255*256;
|
|
|
return (intColor>>8) & 255;
|
|
|
}
|
|
|
|
|
|
//获取颜色中的蓝色值,传入参数为整数表示的RGB值
|
|
|
function ColorGetB(intColor)
|
|
|
{
|
|
|
//return intColor & 255*256*256;
|
|
|
return (intColor>>16) & 255;
|
|
|
}
|
|
|
|
|
|
//创建 XMLHttpRequest 对象
|
|
|
function CreateXMLHttpRequest()
|
|
|
{
|
|
|
var xmlhttp;
|
|
|
if (window.XMLHttpRequest)
|
|
|
xmlhttp = new XMLHttpRequest(); // code for IE7+, Firefox, Chrome, Opera, Safari
|
|
|
else
|
|
|
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // code for IE6, IE5
|
|
|
return xmlhttp;
|
|
|
}
|
|
|
|
|
|
//按异步方式请求报表数据,在响应事件中将数据加载进报表,然后执行后续任务函数
|
|
|
function AjaxReportRun(Report, DataUrl, RunFun)
|
|
|
{
|
|
|
var xmlhttp = CreateXMLHttpRequest();
|
|
|
xmlhttp.onreadystatechange=function()
|
|
|
{
|
|
|
if (xmlhttp.readyState==4 && xmlhttp.status==200)
|
|
|
{
|
|
|
Report.LoadDataFromAjaxRequest(xmlhttp.responseText, xmlhttp.getAllResponseHeaders()); //加载报表数据
|
|
|
RunFun(); //数据加载后需要执行的任务
|
|
|
}
|
|
|
}
|
|
|
xmlhttp.open("POST", DataUrl, true);
|
|
|
xmlhttp.send();
|
|
|
}
|
|
|
|
|
|
//按异步方式请求报表数据,在响应事件中将数据加载进报表,并启动报表查看器的运行
|
|
|
function AjaxReportViewerStart(ReportViewer, DataUrl)
|
|
|
{
|
|
|
ReportViewer.Stop(); //首先停止报表的运行
|
|
|
|
|
|
var xmlhttp = CreateXMLHttpRequest();
|
|
|
xmlhttp.onreadystatechange=function()
|
|
|
{
|
|
|
if (xmlhttp.readyState==4 && xmlhttp.status==200)
|
|
|
{
|
|
|
ReportViewer.Report.LoadDataFromAjaxRequest(xmlhttp.responseText, xmlhttp.getAllResponseHeaders()); //加载报表数据
|
|
|
ReportViewer.Start(); //启动报表运行
|
|
|
}
|
|
|
}
|
|
|
xmlhttp.open("POST", DataUrl, true);
|
|
|
xmlhttp.send();
|
|
|
}
|
|
|
|
|
|
//按同步方式请求报表数据,数据请求方法调用后紧接着调用报表载入数据的方法
|
|
|
//用 Ajax 载入子报表数据必须用 HTTP 同步数据请求,即采用本函数
|
|
|
function AjaxSyncLoadReportData(Report, DataUrl)
|
|
|
{
|
|
|
var xmlhttp = CreateXMLHttpRequest();
|
|
|
xmlhttp.open("POST", DataUrl, false);
|
|
|
xmlhttp.send();
|
|
|
Report.LoadDataFromAjaxRequest(xmlhttp.responseText, xmlhttp.getAllResponseHeaders()); //加载报表数据
|
|
|
}
|
|
|
|