实现Datagrid分页
Html页面:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<!-- 引入相关CSS -->
<!-- BaseCss -->
<link rel='stylesheet' href='/Styles/base.css' />
<link rel='stylesheet' href='/Styles/table.css' />
<link rel='stylesheet' href='/Scripts/lib/loadmask/jquery.loadmask.css' />
<!-- XUICss -->
<link rel='stylesheet' href='/Scripts/lib/easyUI/themes/gray/easyui.css' />
<link rel='stylesheet' href='/Scripts/lib/easyUI/themes/icon.css' />
<link rel='stylesheet' href='/Scripts/lib/easyUI/themes/xUI.css' />
<!-- 引入相关JS -->
<!-- JQueryJs -->
<script src='/Scripts/lib/jquery/jquery.min.js'></script>
<script src='/Scripts/lib/jquery/jquery.json-2.3.min.js'></script>
<script src='/Scripts/lib/jquery/jquery.extend.js'></script>
<!-- JQueryJs -->
<script src="/Scripts/lib/jquery/jquery.json-2.3.min.js"></script>
<!-- BaseJs -->
<script src="/Scripts/base.js"></script>
<script src="/Scripts/lib/loadmask/jquery.loadmask.js"></script>
<!-- XUIJs -->
<script src="/Scripts/lib/easyUI/jquery.easyui.min.js"></script>
<script src="/Scripts/lib/artDialog/artDialog.source.js?skin=chrome"></script>
<script src="/Scripts/lib/artDialog/artDialog.iframe.source.js?skin=chrome"></script>
<script src="/Scripts/xUI/xui.all.js"></script>
<script type="text/javascript">
(function () {
var myModObj = {
/*公共变量存储*/
dataStore: {
ajaxUrl: "/Flow/Controls/Comm/VoteAjax.ashx"//ajax路径
},
/*组件对象存储*/
uiStore: {
gvVoteResultDetailList: null,
},
/*初始化*/
init: function () {
this.initUI(); //初始化组件
this.initData(); //初始化数据
this.initEvent(); //初始化事件
},
/*初始化组件*/
initUI: function () {
var that = this;
var setList = {
title: '投票明细',
iconCls: 'icon-table',
serverPaging: true,
getServerData: this.loadVoteResultDetail,
columns: [[
{ field: 'USER_NO', title: '投票人', width: 200, align: 'center' },
{ field: 'VOTE_RESULT_ZQ', title: '债券等级', width: 200, align: 'center' },
{ field: 'VOTE_RESULT_ZT', title: '主体等级', width: 200, align: 'center' },
{
field: 'VOTE_RESULT_ZW', title: '展望', width: 200, align: 'center',
formatter: function (value) {
switch (value) {
case "0":
return "负面";
case "1":
return "稳定";
case "2":
return "正面";
default:
return "";
}
}
},
{ field: 'IMP_TIME', title: '投票时间', width: 200, align: 'center',align: "center" },
{ field: 'NOTE_CONTENT', title: '投票意见', width: 200, align: 'left' }
]],
}
//创建投票明细数据表格
that.uiStore.gvVoteResultDetailList = $('#gvVoteResultDetailList').createDatagrid(setList);
},
/*初始化数据*/
initData: function () {
var that = modVoteResultCtrl;
that.loadVoteResult();//获取投票结果
that.loadVoteResultDetail();//获取投票结果明细
//显示body
$("body").css("visibility", "visible");
},
/*初始化事件*/
initEvent: function () {
},
//获取投票结果
loadVoteResult: function () {
var that = modVoteResultCtrl;
var param = {
reqType: "GetVoteResult",
instID: "555",
stepID: "555"
};
that.ajaxDeal(that.dataStore.ajaxUrl, param, loadDataSuc);
//加载数据
function loadDataSuc(result) {
for (var i = 0; i < result.data.length; i++) {
if(result.data[i].VOTE_TYPE == '债券等级')
{
$("#lblZQDJ").text(result.data[i].GRADE);
}
if (result.data[i].VOTE_TYPE == '主体等级')
{
$("#lblZTDJ").text(result.data[i].GRADE);
}
if(result.data[i].VOTE_TYPE == '展望')
{
var grade = result.data[i].GRADE;
if ( grade == '0') {
$("#lblZW").text("负面");
}
else if (grade == '1') {
$("#lblZW").text("稳定");
}
else {
$("#lblZW").text("正面");
}
}
}
}
},
//获取投票结果明细
loadVoteResultDetail: function (pageNumber, pageSize) {
var that = modVoteResultCtrl;
//处理页码
if (pageNumber == undefined || pageSize == undefined) {
pageNumber = that.uiStore.gvVoteResultDetailList.getPageNumber();
pageSize = that.uiStore.gvVoteResultDetailList.getPageSize();
}
var param = {
reqType: "GetVoteResultDetail",
instID: "555",
stepID: "555",
pageSize: pageSize,//每页数据
pageNum: pageNumber//页数
};
that.ajaxDeal(that.dataStore.ajaxUrl, param, loadDataSuc);
//加载数据
function loadDataSuc(result) {
var dataInfo = {//分页信息
total: result.data.length <= 0 ? 0 : result.data[0].TOTAL_COUNT,//与数据库中总记录数字段对应
rows: result.data
}
that.uiStore.gvVoteResultDetailList.loadData(dataInfo);
}
}
};
//赋给公共的对象
exp.modVoteResultCtrl = myModObj;
})();
/**
* 引入公共工具集及其他模块
*/
window.modVoteResultCtrl = imp(["baseHelper", "modVoteResultCtrl"]);
/**
* 页面初始化
*/
$(function () {
modVoteResultCtrl.init();
});
</script>
</head>
<body style="visibility:hidden">
<div>
<div title="投票结果" class="easyui-panel" icon="icon-edit" collapsible="true" style="width: auto; height: auto; padding: 5px;">
<table class="tableList">
<tr>
<td class="title" align="center">债券等级:</td>
<td>
<label id="lblZQDJ" />
</td>
<td class="title" align="center">主体等级:</td>
<td>
<label id="lblZTDJ" />
</td>
<td class="title" align="center">展望:</td>
<td>
<label id="lblZW" />
</td>
</tr>
</table>
</div>
<table id="gvVoteResultDetailList"></table>
</div>
</body>
</html>
VoteAjax页面:
private string GetVoteResultDetail()
{
var instID = GetQueryString("instID");
var stepID = GetQueryString("stepID");
var pageSize = GetQueryString("pageSize");
var pageNum = GetQueryString("pageNum");
var rownum = PageRowNum(pageSize, pageNum);
var a = rownum[0].ToString();
var b = rownum[1].ToString();
Dictionary<string, string> param = new Dictionary<string, string>();
param.Add("instID", instID);
param.Add("stepID", stepID);
param.Add("beginRowNum", rownum[0].ToString());
param.Add("endRowNum", rownum[1].ToString());
//执行
var data = FlowCtrlProjIndivService.GetService().GetVoteResultDetail(param);
//返回结果
return new
{
state = "ok",
data = data
}.ToJson();
}
Dao层:
public DataTable GetVoteResultDetail(Dictionary<string, string> param)
{
return BLLService.GetDataTable(
"PKG_TEST.VOTE_RESULT_DETAIL_LIST",
"P_INST_ID", param["instID"],
"P_STEP_ID", param["stepID"],
"P_BEG_ROW_NUM", param["beginRowNum"],
"P_END_ROW_NUM", param["endRowNum"]
);
}
存储过程:
PROCEDURE VOTE_RESULT_DETAIL_LIST
(
P_DATA_SET OUT REDATASET.DS,
P_INST_ID IN TWF_D_VOTE.INST_ID%TYPE,
P_STEP_ID IN TWF_D_VOTE.STEP_ID%TYPE,
P_BEG_ROW_NUM IN INTEGER, --起始行数
P_END_ROW_NUM IN INTEGER --终止行数
) AS
BEGIN
OPEN P_DATA_SET FOR
SELECT *
FROM (SELECT ROWNUM RN, G.*
FROM (SELECT COUNT(*) OVER() TOTAL_COUNT,
A.USER_NO,
VOTE_RESULT_ZQ,
VOTE_RESULT_ZT,
VOTE_RESULT_ZW,
NOTE_CONTENT,
IMP_TIME
FROM (SELECT INST_ID,
STEP_ID,
USER_NO,
VOTE_RESULT VOTE_RESULT_ZQ,
IMP_TIME
FROM TWF_D_VOTE
WHERE VOTE_TYPE = '债券等级'
AND INST_ID = P_INST_ID
AND STEP_ID = P_STEP_ID
ORDER BY IMP_TIME DESC) A
INNER JOIN (SELECT INST_ID,
STEP_ID,
USER_NO,
VOTE_RESULT VOTE_RESULT_ZT
FROM TWF_D_VOTE
WHERE VOTE_TYPE = '主体等级') B
ON A.USER_NO = B.USER_NO
AND A.STEP_ID = B.STEP_ID
AND A.INST_ID = B.INST_ID
INNER JOIN (SELECT INST_ID,
STEP_ID,
USER_NO,
VOTE_RESULT VOTE_RESULT_ZW
FROM TWF_D_VOTE
WHERE VOTE_TYPE = '展望') D
ON A.USER_NO = D.USER_NO
AND A.STEP_ID = D.STEP_ID
AND A.INST_ID = D.INST_ID
INNER JOIN (SELECT INST_ID, STEP_ID, USER_NO, NOTE_CONTENT
FROM TWF_D_NOTE
WHERE NOTE_TYPE = '投票意见') E
ON A.USER_NO = E.USER_NO
AND A.STEP_ID = E.STEP_ID
AND A.INST_ID = E.INST_ID) G
WHERE ROWNUM <= P_END_ROW_NUM) H
WHERE RN >= P_BEG_ROW_NUM;
END VOTE_RESULT_DETAIL_LIST;
浙公网安备 33010602011771号