Xml_javascript нумерация страниц
Автор:Eve Cole
Время обновления:2009-07-07 16:22:09
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns=" http://www.w3.org/1999/xhtml " >
<голова>
<title>龙的传人--Xml_javascript分页</title>
</голова>
<body onload="getxmlDoc()">
<script Language="javascript" type="text/javascript">
вар xmlDoc;
вар nodeIndex;
вар PageIndex;
вар pageSize = 13;
вар последней страницы; // 最后一页
var overSize // 最后一页的记录数
функция getxmlDoc()
{
xmlDoc=новый ActiveXObject("Microsoft.XMLDOM");
вар currNode;
xmlDoc.async=false;
xmlDoc.load("myTest.xml");
если (xmlDoc.parseError.errorCode!=0)
{
вар myErr = xmlDoc.parseError;
alert("出错!"+myErr.reason);
}
ПолучитьРекордКаунт();
onFirst();
}
функция getRecordCount()
{
var personNode = xmlDoc.selectNodes("/Root")[0];
вар RecordCount = personNode.childNodes.length;
вар pageCount = Math.ceil(recordCount/pageSize);
document.getElementById("txtPageCount").value=pageCount;
document.getElementById("txtRecordCount").value=recordCount;
overSize = RecordCount%pageSize;
если (overSize>0)
{
LastPage = RecordCount-overSize;
}
еще
{
LastPage = RecordCount-pageSize;
}
}
функция getPageRecord(pageIndex,pageSize)
{
ClearRow("МояТаблица");
var personNode = xmlDoc.selectNodes("/Root")[0];
вар currNode=personNode.childNodes[pageIndex];
for(var i=pageIndex;i<pageIndex+pageSize;i++)
{
вар arr = новый массив ();
var nNode= xmlDoc.selectSingleNode("Root/Person["+i+"]") ;
arr[0]=nNode.getAttribute("Id"); //序号
arr[1]=nNode.childNodes[0].text; //工号
arr[2]=nNode.childNodes[1].text; //姓名
arr[3]=nNode.childNodes[2].text; //性别
arr[4]=nNode.childNodes[3].text; //部门
arr[5]=nNode.childNodes[4].text; //职位
arr[6]=nNode.childNodes[5].text; //地址
// arr[0]=personNode.childNodes[i].getAttribute("Id"); //序号
// arr[1]=personNode.childNodes[i].childNodes[0].text; //工号
// arr[2]=personNode.childNodes[i].childNodes[1].text; //姓名
// arr[3]=personNode.childNodes[i].childNodes[2].text; //性别
// arr[4]=personNode.childNodes[i].childNodes[3].text; //部门
// arr[5]=personNode.childNodes[i].childNodes[4].text; //职位
// arr[6]=personNode.childNodes[i].childNodes[5].text; //地址
addRow(я+1,"myTable",arr);
}
}
функция onFirst()
{
индекс страницы=0;
вар currIndex = PageIndex;
getPageRecord (currIndex, pageSize)
pageIndex=currIndex;
document.getElementById("txtCurrPage").value=(pageIndex/pageSize) + 1;
document.getElementById("txtCurrPageRecord").value=pageSize;
}
функция onPrev()
{
вар currIndex = PageIndex;
currIndex-=Размер страницы;
getPageRecord (currIndex, pageSize)
pageIndex = CurrIndex;
document.getElementById("txtCurrPage").value=(pageIndex/pageSize) + 1;
document.getElementById("txtCurrPageRecord").value=pageSize;
}
функция onNext()
{
вар currIndex = PageIndex;
currIndex+=Размер страницы;
getPageRecord (currIndex, pageSize)
pageIndex = CurrIndex;
document.getElementById("txtCurrPage").value=(pageIndex/pageSize) + 1;
document.getElementById("txtCurrPageRecord").value=pageSize;
}
функция onLast()
{
если (overSize>0)
{
getPageRecord (последняя страница, overSize)
document.getElementById("txtCurrPageRecord").value=overSize;
}
еще
{
getPageRecord (последняя страница, размер страницы)
document.getElementById("txtCurrPageRecord").value=pageSize;
}
pageIndex = последняя страница;
document.getElementById("txtCurrPage").value=(pageIndex/pageSize) + 1;
}
функция toPage()
{
var index=document.getElementById("txtCurrPage").value
вар currIndex=(index-1)*pageSize;
если (event.keyCode == 13)
{
getPageRecord(currIndex,pageSize);
}
pageIndex = CurrIndex;
}
функция addRow(i,dataGridId,arr)
{
var row=document.createElement("tr");
вар ячейка = createCellWidthText (я);
row.appendChild(ячейка);
for(var j=0;j<arr.length;j++)
{
ячейка = createCellWidthText(arr[j]);
row.appendChild(ячейка);
}
document.getElementById(dataGridId).firstChild.appendChild(строка);
}
функция createCellWidthText(текст)
{
var cell = document.createElement("td");
вар textNode = document.createTextNode(текст);
cell.appendChild(textNode);
возвратная ячейка;
}
функция ClearRow (объект)
{
вар таблица = document.getElementById (obj);
вар nodeTbody=table.firstChild
вар длина = nodeTbody.childNodes.length;
for(var i=length-1;i>0;i--)
{
nodeTbody.removeChild(nodeTbody.childNodes[i]);
}
}
</скрипт>
<form id="form1" runat="server">
<дел>
<table align="center" style="border-right: #0033ff тонкий сплошной; border-top: #0033ff тонкий сплошной;
левая граница: #0033ff тонкая сплошная; ширина: 650 пикселей; border-bottom: #0033ff тонкий сплошной">
<тр>
<тд>
共<input id="txtPageCount" name="txtPageCount" style="width: 33px; color: #0000ff; border-top-style: none; border-right-style: none; border-left-style: none; background -color: прозрачный; border-bottom-style: none;" type="text" onkeydown="toPage()"/>页/
<input id="txtRecordCount" name="txtRecordCount" style="width: 46px; color: #3300ff; border-top-style: none; border-right-style: none; border-left-style: none; background- цвет: прозрачный; стиль границы-дна: нет;" type="text" onkeydown="toPage()"/>条记录
<input id="btnFirst" type="button" value="首页" onclick="onFirst()"/>
<input id="btnPrev" type="button" value="上一页" onclick="onPrev()"/>
<input id="btnNext" type="button" value="下一页" onclick="onNext()"/>
<input id="btnLast" type="button" value="尾页" onclick="onLast()"/>
第<input id="txtCurrPage" name="txtCurrPage" style="ширина: 46 пикселей; цвет: #ff3333;" type="text" onkeydown="toPage()"/>
页(当前页<input id="txtCurrPageRecord" name="txtCurrPageRecord" style="width: 22px; color: #ff3333; border-top-style: none; border-right-style: none; border-left-style: none; цвет фона: белый; стиль границы внизу: нет;" type="text" onkeydown="toPage()"/>条记录)</td>
</tr>
<тр>
<тд>
<table width="100%" id="myTable">
<tr style="background-color:Yellow">
<td style="ширина: 34 пикселя; высота: 21 пиксель;">
Идентификатор</td>
<td style="ширина: 34 пикселя; высота: 21 пиксель;">
序号</td>
<td style="ширина: 42 пикселя; высота: 21 пиксель;">
工号</td>
<td style="ширина: 36 пикселей; высота: 21 пиксель;">
姓名</td>
<td style="ширина: 39 пикселей; высота: 21 пиксель;">
性别</td>
<td style="ширина: 43 пикселя; высота: 21 пиксель;">
部门</td>
<td style="ширина: 50 пикселей; высота: 21 пиксель;">
职位</td>
<td style="ширина: 100 пикселей; высота: 21 пиксель;">
地址</td>
</tr>
</таблица>
</td>
</tr>
</таблица>
</div>
</форма>
</тело>
</html>
Источник: http://home.goofar.com/lkc311/Default.htm