📄 xtdbgrid.htc
字号:
var conTrolStr = "";
oControl = element.document.createElement("<div></div>");
oControl.runtimeStyle.width = vWidth;
oControl = element.appendChild(oControl);
conTrolStr += "<div class='phms_dbgrid_controller' align='right'>";//div容器
conTrolStr += "<input style='position:absolute;background:#ffffff;top:4;right:40px;height:14;width:30;border:1px solid #A6C4E1;color:#4F789D;'/>";//当前页->[0]
conTrolStr += "<input style='position:absolute;background:#ffffff;top:4;right:212;height:14;width:28;border:1px solid #A6C4E1;color:#4F789D;'/>";//每页显示记录数->[1]
/////////////////////////////
conTrolStr += "<span style='position:absolute;color:#4F789D;top:5;right:360;'>行:</span>";//标签:行:->[2]
conTrolStr += "<span style='position:absolute;color:#4F789D;top:5;right:310;'>列:</span>";//标签:列:->[3]
conTrolStr += "<span style='position:absolute;color:#4F789D;top:5;right:242;'>(每页</span>";//标签:(每页->[4]
conTrolStr += "<span style='position:absolute;color:#4F789D;top:5;right:180;'>条 共</span>";//标签:条 共->[5]
conTrolStr += "<span style='position:absolute;color:#4F789D;top:5;right:120;'>条)</span>";//标签:条)->[6]
////////////////////////////////
conTrolStr += "<input style='position:absolute;background:white;top:4;right:141px;width:36;height:16;border:0px solid #A6C4E1;text-align:center;font-size:10;font-family:arial;color:#4F789D;' readonly/>";//记录总数->[7]
conTrolStr += "<input style='position:absolute;right:330;top:4;height:16;width:30;border:0px solid #A6C4E1;color:#4F789D;font-size:10;font-family:arial;' readonly/>";//当前行坐标->[8]
conTrolStr += "<input style='position:absolute;right:280;top:4;height:16;width:30;border:0px solid #A6C4E1;color:#4F789D;font-size:10;font-family:arial;' readonly/>";//当前列坐标->[9]
//导航按钮
conTrolStr += "<v:polyline points='0,14 0,0 0,7 8,0 8,14,0,7 0,14' style='position:absolute;top:3;right:95;' strokecolor='#7B9EBD' fillcolor='#7B9EBD' title='第一页'/>";//首页->[10]
conTrolStr += "<v:polyline points='0,7 7,0 7,14 0,7' style='position:absolute;top:3;right:80px;' strokecolor='#7B9EBD' title='上一页'/>";//上一页->[11]
conTrolStr += "<v:polyline points='7,7 0,0 0,14 7,7' style='position:absolute;top:3;right:25px;' strokecolor='#7B9EBD' title='下一页'/>";//下一页->[12]
conTrolStr += "<v:polyline points='7,14 7,0 7,7 0,0 0,14 7,7 7,14' style='position:absolute;top:3;right:10px' strokecolor='#7B9EBD' fillcolor='#7B9EBD' title='最后一页'/>";//尾页->[13]
//操作按钮
/////////删除///////////////////->[14]
conTrolStr += "<v:group style='right:410;position:absolute;top:0px;height:16px;width:13;' coordsize='14,16'>";
conTrolStr += "<v:roundrect arcsize='6554f' strokeweight='.75pt' style='position:absolute;top:3;right:400;width:20;height:14;cursor:hand' strokecolor='#4F789D' coordsize='21600,21600' title='删除当前选中记录'></v:roundrect>";
conTrolStr += "<v:line style='position:absolute;width:20;cursor:hand' from='7,10' to='14,10' strokecolor='red' strokeweight='2pt'/>";
conTrolStr += "</v:group>";
/////////增加//////////->[15]
//conTrolStr += "<v:group style='right:460;position:absolute;top:0px;height:16px;width:13;' coordsize='14,16'><v:roundrect arcsize='6554f' strokeweight='.75pt' style='position:absolute;top:3;right:400;width:20;height:14' strokecolor='#4F789D' coordsize='21600,21600' title='添加新记录'></v:roundrect><v:line style='position:absolute;width:20;' from='5,10' to='15,10' strokecolor='green' strokeweight='2pt'/><v:line style='position:absolute;width:20;' from='10,5' to='10,14' strokecolor='green' strokeweight='2.5pt'/></v:group>";
conTrolStr += "<v:group style='right:440;position:absolute;top:0px;height:16px;width:13;' coordsize='14,16'>";
conTrolStr += "<v:roundrect arcsize='6554f' strokeweight='.75pt' style='position:absolute;top:3;right:400;width:20;height:14;cursor:hand' strokecolor='#4F789D' coordsize='21600,21600' title='添加新记录'></v:roundrect>";
conTrolStr += "<v:textbox style='position:absolute;top:-1;right:5;color:green;font-family:arial black;cursor:hand'>+</v:textbox>";
conTrolStr += "</v:group>";
/////////打印//////////->[16]
conTrolStr += "<v:group style='right:470;position:absolute;top:0px;height:16px;width:13;' coordsize='14,16'>";
conTrolStr += "<v:roundrect arcsize='6554f' strokeweight='.75pt' style='position:absolute;top:3;right:400;width:20;height:14;cursor:hand' strokecolor='#4F789D' coordsize='21600,21600' title='打印'></v:roundrect>";
conTrolStr += "<v:textbox style='position:absolute;top:0;right:4;color:#cccccc;font-family:arial black;cursor:hand'>P</v:textbox>";
conTrolStr += "</v:group>";
//////////////////
conTrolStr += "</div>";
oControl.insertAdjacentHTML("afterBegin",conTrolStr);
oTemp = oControl.children(0);//div
oControl.curPage = oTemp.children(0);//当前页
oControl.pageSize = oTemp.children(1);//每页显示记录数
oControl.pageSize.onfocus = hideInput;
oControl.recordCount = oTemp.children(7);//记录总数
oControl.recordCount.onfocus = hideInput;
oControl.firstPage = oTemp.children(10);//首页
oControl.previousPage = oTemp.children(11);//上一页
oControl.nextPage = oTemp.children(12);//下一页
oControl.lastPage = oTemp.children(13);//尾页
oControl.addR = oTemp.children(15);//增加r行
oControl.delR = oTemp.children(14);//删除r行
oControl.print = oTemp.children(16);//打印
oControl.curRow = oTemp.children(8);//当前行
oControl.curCol = oTemp.children(9);//当前列
oControl.curRowCaption = oTemp.children(2);//行标签
oControl.curColCaption = oTemp.children(3);//列标签
///////////////////
//////////////
oControl.curRowCaption.style.visibility = "hidden";
oControl.curColCaption.style.visibility = "hidden";
if(hasAddButton == "false"){//是否显示增加按钮
//oControl.addR.style.visibility = "hidden";
oTemp.removeChild(oControl.addR);
}else{
oControl.addR.onclick = addRow;
}
if(hasDelButton == "false"){//是否显示删除按钮
//oControl.delR.style.visibility = "hidden";
oTemp.removeChild(oControl.delR);
}else{
oControl.delR.onclick = delRow;
}
if(hasPrintButton == "false"){//是否显示打印按钮
//oControl.print.style.visibility = "hidden";
oTemp.removeChild(oControl.print);
}else{
oControl.print.onclick = PrintOut;
}
oTemp.style.background = controllerBgColor;
oControl.recordCount.style.background = controllerBgColor;
oControl.curRow.style.background = controllerBgColor;
oControl.curCol.style.background = controllerBgColor;
//事件绑定
oControl.firstPage.onclick = moveFirst;
oControl.previousPage.onclick = movePrevious;
oControl.nextPage.onclick = moveNext;
oControl.lastPage.onclick = moveLast;
//页面加载时需要初始化的一些参数
if(intRows <=oPageSize){
oControl.pageSize.value = intRows;
}else{
oControl.pageSize.value = oPageSize;//每页显示记录数
}
oControl.curPage.value = curPage;//当前页
oControl.curPage.onkeydown = gotoPage;//当输入页号后回车后转到相关页面
oControl.curPage.style.textAlign = "center";
oControl.curPage.style.fontFamily = "arial";
oControl.curPage.style.fontSize = "7pt";
oControl.pageSize.onkeydown = refreshPageSize;//当输入pageSize后回车后重画页面
oControl.pageSize.style.textAlign = "center";
oControl.pageSize.style.fontFamily = "arial";
oControl.pageSize.style.fontSize = "7pt";
oControl.recordCount.value = intRows; //记录总数
}
///////////////////////////////以下是分页控制代码////////////////////////////////////////////////////////
function gotoPage(){//转向指定页面
if(event.keyCode == "13"){//按下了回车键
if(event.srcElement.value=="") return;
if(checkNumber(event.srcElement.value)==-1){
event.srcElement.select();
return;
}
var tmpPage =parseInt(event.srcElement.value);//event.srcElement其实是input
if(tmpPage<1 || tmpPage>getPageNumber()){//页码范围不正确
if(getPageNumber() == 1){
alert("页码输入有误(有效页码:1)");
oControl.curPage.value = 1;
}else{
alert("页码输入有误(有效范围:1 - " + getPageNumber() + ")");
}
event.srcElement.select();
}else{//此处为重定向页面代码
curPage = tmpPage;//将当前页设置为输入的页码
fillInTable();
if(hasPageFooter == "true")
viewPageFooter();
}
if(curPage==1){//如果是第一页则使首页和上一页按钮失效,同时使最后一页则使尾页和下一页按钮有效
oControl.firstPage.disabled = true;
oControl.previousPage.disabled = true;
oControl.lastPage.disabled = false;
oControl.nextPage.disabled = false;
}
if(curPage==getPageNumber()){//如果是最后一页则使尾页和下一页按钮失效,同时使首页和上一页按钮有效
oControl.lastPage.disabled = true;
oControl.nextPage.disabled = true;
oControl.firstPage.disabled = false;
oControl.previousPage.disabled = false;
}
if(curPage>1 && curPage<getPageNumber()){//如果界于第一页和最后一页之间则使所有按钮有效
oControl.lastPage.disabled = false;
oControl.nextPage.disabled = false;
oControl.firstPage.disabled = false;
oControl.previousPage.disabled = false;
}
}
}
function checkNumber(strValue){//验证是否为数字
var reg = /^[0-9]*$/;
var r = strValue.match(reg);
if(r==null){
alert("输入必须为整数");
return(-1);
}
}
function refreshPageSize(){//按指定每页记录数显示记录
if(event.keyCode == "13"){//按下了回车
if(event.srcElement.value=="") return;
if(checkNumber(event.srcElement.value)==-1){
event.srcElement.select();
return;
}
var tmpPageSize = parseInt(event.srcElement.value);
if(isNaN(tmpPageSize)){
oControl.pageSize.verify();//调用行为方法触发maskedit的onblur事件
event.srcElement.select();
return;
}
if(tmpPageSize<1 || tmpPageSize>intRows){//pageSize设置错误
if(intRows == 1){
alert("每页显示记录设置错误(有效记录:1)");
oControl.pageSize.value = 1;
}else{
alert("每页显示记录设置错误(有效范围:1 - " + intRows + ")");
}
oControl.pageSize.value = intRows;
event.srcElement.select();
}else{//此处为进行重画页面的代码
tableRow = 0;//设置第一行为当前行
showRC();//刷新行列坐标
curPage = 1;
oControl.curPage.value = curPage;
oPageSize = tmpPageSize;//将pageSize设置为输入的显示大小
fillInTable();
if(hasPageFooter == "true")
viewPageFooter();
}
oControl.firstPage.disabled = true;
oControl.previousPage.disabled = true;
oControl.lastPage.disabled = false;
oControl.nextPage.disabled = false;
}
}
function getRows(){ //得到数据总的行数
if(oCopyDataXML){
intRows = oCopyDataXML.selectNodes("/*/*").length;
}else{
intRows = 0;
}
}
function getCols(){ //得到数据区的列数
return (oTitleTable.rows(0).cells.length - 1);
}
function getPageNumber(){//获得总页数
return Math.ceil(intRows/oPageSize);
}
function getFirstPosition(){//返回当前页第一条记录的位置
return oPageSize*(curPage-1) + 1;
}
function getLastPosition(){//返回当前页最后一条记录的位置
if(hasController == "false"){//如果没有分页选择器则在一页内显示完所有数据
oPageSize = intRows;
}
if(addFlag){
return parseInt(oPageSize*(curPage-1)) + parseInt(oPageSize) + 1;
}else{
return parseInt(oPageSize*(curPage-1)) + parseInt(oPageSize);
}
}
function moveFirst(){//移动到第一页
curPage = 1;
oControl.curPage.value = curPage;
fillInTable();
oControl.firstPage.disabled = true;
oControl.previousPage.disabled = true;
if(oControl.lastPage.disabled == true && oControl.nextPage.disabled == true){
oControl.lastPage.disabled = false;
oControl.nextPage.disabled = fals
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -