<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=GBK">
</head>
把鼠標放於紅線上,本例限定隻能在第一行調行寬
<table id="tbl" border=1 cellspacing="0" cellpadding="0">
<tr><td style="border-right:1pt solid red;">標題一</td><td style="border-right:1pt solid red;">標題二</td><td>標題三</td></tr>
<tr><td style="border-bottom:1pt solid red;">內容一</td>
<td style="border-bottom:1pt solid red;">內容二</td>
<td style="border-bottom:1pt solid red;">內容三</td>
</tr>
<tr><td>內容A</td><td colspan=2>內容B</td></tr>
</table>
<script language="javascript">
SetResizeAble(document.all("tbl"))
var onDrag=0,gblResizeObj;function SetResizeAble(argTable){
with(argTable){
attachEvent('onmousedown',ColResizeStart)
attachEvent('onmousemove',ColResizeIng)
attachEvent('onmouseup',ColResizeEnd)
}
}function FindPos(obj){
var x=obj.offsetLeft, y=obj.offsetTop;
while(obj=obj.offsetParent){x += obj.offsetLeft;y += obj.offsetTop;}
this.intX=x; this.intY=y;
return this
}function ColResizeStart(){
var srcObj=event.srcElement,tblParent=srcObj.parentElement;
while(tblParent.tagName!='TABLE')tblParent=tblParent.parentElement
if(srcObj.tagName!='TD')return
if(srcObj.parentElement.rowIndex==0){
if(srcObj.offsetWidth - event.offsetX <=3 && srcObj.cellIndex!=srcObj.parentElement.cells.length - 1){
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex];
onDrag=1;
}
if(event.offsetX <=3 && srcObj.cellIndex != 0){
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex - 1];
onDrag=1;
}
}else{
if(srcObj.offsetHeight - event.offsetY <=3 && srcObj.parentElement.rowIndex < tblParent.rows.length - 1){
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex];
onDrag=2;
}
}
}function ColResizeIng(){
var objSrcTd=event.srcElement,tblParent=objSrcTd.parentElement;
while(tblParent=tblParent.parentElement)if(tblParent.tagName=='TABLE')break;
if(objSrcTd.tagName == "TD" && (Math.abs(event.offsetX) <= 3 || Math.abs(objSrcTd.offsetWidth - event.offsetX)<=3) && objSrcTd.cellIndex != 0 && objSrcTd.parentElement.rowIndex==0){
objSrcTd.document.body.style.cursor='col-resize';
}
else{
if(objSrcTd.tagName == "TD" && Math.abs(objSrcTd.offsetHeight - event.offsetY)<=3 && objSrcTd.parentElement.rowIndex > 0 && objSrcTd.parentElement.rowIndex < tblParent.rows.length - 1){
objSrcTd.document.body.style.cursor='row-resize';
}else{
objSrcTd.document.body.style.cursor='default';
}
}
if(onDrag!=1 && onDrag!=2)return;
var trSrc=gblResizeObj.parentElement;
if(onDrag==1){
var intPosX=(new FindPos(gblResizeObj)).intX
gblResizeObj.style.pixelWidth = event.x - intPosX;
}
if(onDrag==2){
var intHeight=0,intPosY=(new FindPos(gblResizeObj)).intY
intHeight = objSrcTd.offsetHeight + event.y - intPosY;
tblParent.style.pixelHeight = intHeight * tblParent.rows.length
}
}function ColResizeEnd(){
onDrag=0;
document.body.style.cursor='default'
}
</script>
<head>
<META http-equiv=Content-Type content="text/html; charset=GBK">
</head>
把鼠標放於紅線上,本例限定隻能在第一行調行寬
<table id="tbl" border=1 cellspacing="0" cellpadding="0">
<tr><td style="border-right:1pt solid red;">標題一</td><td style="border-right:1pt solid red;">標題二</td><td>標題三</td></tr>
<tr><td style="border-bottom:1pt solid red;">內容一</td>
<td style="border-bottom:1pt solid red;">內容二</td>
<td style="border-bottom:1pt solid red;">內容三</td>
</tr>
<tr><td>內容A</td><td colspan=2>內容B</td></tr>
</table>
<script language="javascript">
SetResizeAble(document.all("tbl"))
var onDrag=0,gblResizeObj;function SetResizeAble(argTable){
with(argTable){
attachEvent('onmousedown',ColResizeStart)
attachEvent('onmousemove',ColResizeIng)
attachEvent('onmouseup',ColResizeEnd)
}
}function FindPos(obj){
var x=obj.offsetLeft, y=obj.offsetTop;
while(obj=obj.offsetParent){x += obj.offsetLeft;y += obj.offsetTop;}
this.intX=x; this.intY=y;
return this
}function ColResizeStart(){
var srcObj=event.srcElement,tblParent=srcObj.parentElement;
while(tblParent.tagName!='TABLE')tblParent=tblParent.parentElement
if(srcObj.tagName!='TD')return
if(srcObj.parentElement.rowIndex==0){
if(srcObj.offsetWidth - event.offsetX <=3 && srcObj.cellIndex!=srcObj.parentElement.cells.length - 1){
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex];
onDrag=1;
}
if(event.offsetX <=3 && srcObj.cellIndex != 0){
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex - 1];
onDrag=1;
}
}else{
if(srcObj.offsetHeight - event.offsetY <=3 && srcObj.parentElement.rowIndex < tblParent.rows.length - 1){
gblResizeObj=tblParent.rows[srcObj.parentElement.rowIndex].cells[srcObj.cellIndex];
onDrag=2;
}
}
}function ColResizeIng(){
var objSrcTd=event.srcElement,tblParent=objSrcTd.parentElement;
while(tblParent=tblParent.parentElement)if(tblParent.tagName=='TABLE')break;
if(objSrcTd.tagName == "TD" && (Math.abs(event.offsetX) <= 3 || Math.abs(objSrcTd.offsetWidth - event.offsetX)<=3) && objSrcTd.cellIndex != 0 && objSrcTd.parentElement.rowIndex==0){
objSrcTd.document.body.style.cursor='col-resize';
}
else{
if(objSrcTd.tagName == "TD" && Math.abs(objSrcTd.offsetHeight - event.offsetY)<=3 && objSrcTd.parentElement.rowIndex > 0 && objSrcTd.parentElement.rowIndex < tblParent.rows.length - 1){
objSrcTd.document.body.style.cursor='row-resize';
}else{
objSrcTd.document.body.style.cursor='default';
}
}
if(onDrag!=1 && onDrag!=2)return;
var trSrc=gblResizeObj.parentElement;
if(onDrag==1){
var intPosX=(new FindPos(gblResizeObj)).intX
gblResizeObj.style.pixelWidth = event.x - intPosX;
}
if(onDrag==2){
var intHeight=0,intPosY=(new FindPos(gblResizeObj)).intY
intHeight = objSrcTd.offsetHeight + event.y - intPosY;
tblParent.style.pixelHeight = intHeight * tblParent.rows.length
}
}function ColResizeEnd(){
onDrag=0;
document.body.style.cursor='default'
}
</script>
解决方案 »
- 选中链接时修改样式(要刷新之后仍保持的)
- 集思广益,如何在工资管理系统中设计工资项目的计算公式?
- 【加急【【【如何获取TreeView中某个CheckBox选中后的值】】】】】
- 问个超连接下载文件的问题,急
- 如何将大类和小类读入treeview控件???
- 我想请问一下EXCEL和DataSet之间数据交换
- 再问,在ASP.NET中有没有办法得到客户端的打印机列表?
- 网页上两个按钮,如何把一个设置成一按回车键就提交的!!!!!
- DataGrid的PageIndexChange事件的触发问题
- C# aspx 中字段有值,则显示该行,为空,则不显示该行,请问怎么写好
- 请问在那里有下载Exchange的CDO的SDK
- 急急急!!!各位大师,帮帮忙。
OrderThis(e,"U");
}
else
{
e.innerText = e.innerText.replace(UP(),'').replace(Down(),'') + UP();
OrderThis(e,"D");
}
}
ParentNode = e;
}
function UP()
{
return "▼";
}
function Down()
{
return "▲";
}
function OrderThis(e, Order)
{
var Rows;
var ObjHead = eval("document.all."+ TableName +".rows[0].cells");
for(var i=0; i<ObjHead.length; i++)
{
if(ObjHead[i].childNodes[0] == e)
{
Rows = i;
break;
}
}
//alert(Rows);
//alert(Order);
var Obj = eval("document.all."+ TableName);
var d = new Date();
MyOrder(Obj, Rows, Order);
alert("时间:"+ (new Date()-d) +" 行数:"+ Obj.rows.length);
}
//
// objTB 表名 index所选择的列 Order选择的排序方式(D,U)
// 关键方法 排序
//
var g_n , g_order;
function MyOrder(objTB, index, Order)
{
g_n = index;
g_order = Order; var n = objTB.tBodies[0].childNodes.length - 1;
var a = new Array(n);
for (var i=0; i <a.length; i++)
a[i] = objTB.tBodies[0].childNodes[i+1];
a.sort(mycompare);
for(var i=n; i >=1; i--)
objTB.tBodies[0].removeChild(objTB.tBodies[0].childNodes[i]);
for (var i=0; i < a.length; i++)
objTB.tBodies[0].appendChild(a[i]);
}
function mycompare(a, b)
{
var ret = 0;
if (a.cells[g_n].innerText < b.cells[g_n].innerText) ret = -1;
else if (a.cells[g_n].innerText > b.cells[g_n].innerText)ret = 1; return (g_order == "D"? -1:1) * ret;
}
</script>
</head>
<body>
<table cellSpacing="0" cellPadding="2" width="100%" border="1" style="font-size:12px" bordercolorlight="#888888"
bordercolordark="#FFFFFF" id="AspxCC">
<tr bgcolor="#DCDCDC" align="center">
<td>用户编号</td>
<td>试用时间</td>
<td>转正时间</td>
<td>性别</td>
<td>姓名拼音</td>
<td>生日时间</td>
<td>民族</td>
<td>身高</td>
</tr>
<tr>
<td>2000001</td>
<td>1997-3-13 0:00:00</td>
<td>1997-3-13 0:00:00</td>
<td>1</td>
<td>WZJ</td>
<td>1965-3-13 0:00:00</td>
<td>汉</td>
<td>171</td>
</tr>
<tr>
<td>2000002</td>
<td>1997-3-13 0:00:00</td>
<td>1997-3-13 0:00:00</td>
<td>1</td>
<td>SC</td>
<td>1968-9-8 0:00:00</td>
<td>汉</td>
<td>171</td>
</tr>
<tr>
<td>2000003</td>
<td>1998-3-2 0:00:00</td>
<td>1998-3-2 0:00:00</td>
<td>1</td>
<td>CH</td>
<td>1963-11-14 0:00:00</td>
<td>汉</td>
<td>171</td>
</tr>
<tr>
<td>2000004</td>
<td>1998-9-1 0:00:00</td>
<td>1998-9-1 0:00:00</td>
<td>1</td>
<td>YXY</td>
<td>1970-3-1 0:00:00</td>
<td>汉</td>
<td>171</td>
</tr>
<tr>
<td>2000005</td>
<td>1999-3-25 0:00:00</td>
<td>1999-4-25 0:00:00</td>
<td>1</td>
<td>SM</td>
<td>1976-10-20 0:00:00</td>
<td>汉</td>
<td>177</td>
</tr>
<tr>
<td>2000075</td>
<td>2001-4-19 0:00:00</td>
<td>2001-5-25 0:00:00</td>
<td>0</td>
<td>LHY</td>
<td>1976-7-22 0:00:00</td>
<td>汉</td>
<td>171</td>
</tr>
</table>
</body>
</html>
<head>
<PUBLIC:ATTACH EVENT="ondetach" ONEVENT="cleanup()" />
<script language="javascript">
var TableName = "AspxCC";
var ParentObj = null;
function ClickThis(e)
{
if(ParentObj != null)
{
ParentObj.style.backgroundColor = "#FFFFFF";
}
e.style.backgroundColor = "#DEF8FF";
ParentObj = e;
e.style.backgroundColor = "#DEF8FF";
}
function window.onload()
{
var Obj = eval("document.all."+ TableName +".rows;");
for(var i=1; i<Obj.length; i++)
{
Obj[i].onclick = new Function("ClickThis(this)");
}
var ObjHead = eval("document.all."+ TableName +".rows[0].cells");
for(var i=0; i<ObjHead.length; i++)
{
ObjHead[i].innerHTML = "<span style=\"cursor:hand;width:100%\" onclick=\"Order(this)\">"+ ObjHead[i].innerHTML +"</span>";
}
}
var ParentNode = null;
function Order(e)
{
if(ParentNode != null && ParentNode != e)
{
ParentNode.innerText = ParentNode.innerText.replace(UP(),'').replace(Down(),'');
}
if(ParentNode != e)
{
e.innerText = e.innerText.replace(UP(),'').replace(Down(),'') + UP();
OrderThis(e,"D");
}
else
{
if(e.innerText.replace(UP(),'') != e.innerText)
{
e.innerText = e.innerText.replace(UP(),'').replace(Down(),'') + Down();
OrderThis(e,"U");
}
else
{
e.innerText = e.innerText.replace(UP(),'').replace(Down(),'') + UP();
OrderThis(e,"D");
}
}
ParentNode = e;
}
function UP()
{
return "▼";
}
function Down()
{
return "▲";
}
function OrderThis(e, Order)
{
var Rows;
var ObjHead = eval("document.all."+ TableName +".rows[0].cells");
for(var i=0; i<ObjHead.length; i++)
{
if(ObjHead[i].childNodes[0] == e)
{
Rows = i;
break;
}
}
//alert(Rows);
//alert(Order);
var Obj = eval("document.all."+ TableName);
var d = new Date();
MyOrder(Obj, Rows, Order);
alert("时间:"+ (new Date()-d) +" 行数:"+ Obj.rows.length);
}
//
// objTB 表名 index所选择的列 Order选择的排序方式(D,U)
// 关键方法 排序
//
var g_n , g_order;
function MyOrder(objTB, index, Order)
{
g_n = index;
g_order = Order; var n = objTB.tBodies[0].childNodes.length - 1;
var a = new Array(n);
for (var i=0; i <a.length; i++)
a[i] = objTB.tBodies[0].childNodes[i+1];
a.sort(mycompare);
for(var i=n; i >=1; i--)
objTB.tBodies[0].removeChild(objTB.tBodies[0].childNodes[i]);
for (var i=0; i < a.length; i++)
objTB.tBodies[0].appendChild(a[i]);
}
function mycompare(a, b)
{
var ret = 0;
if (a.cells[g_n].innerText < b.cells[g_n].innerText) ret = -1;
else if (a.cells[g_n].innerText > b.cells[g_n].innerText)ret = 1; return (g_order == "D"? -1:1) * ret;
}
</script>
</head>
<body>
<table cellSpacing="0" cellPadding="2" width="100%" border="1" style="font-size:12px" bordercolorlight="#888888"
bordercolordark="#FFFFFF" id="AspxCC">
<tr bgcolor="#DCDCDC" align="center">
<td>用户编号</td>
<td>试用时间</td>
<td>转正时间</td>
<td>性别</td>
<td>姓名拼音</td>
<td>生日时间</td>
<td>民族</td>
<td>身高</td>
</tr>
<tr>
<td>2000001</td>
<td>1997-3-13 0:00:00</td>
<td>1997-3-13 0:00:00</td>
<td>1</td>
<td>WZJ</td>
<td>1965-3-13 0:00:00</td>
<td>汉</td>
<td>171</td>
</tr>
<tr>
<td>2000074</td>
<td>2001-4-23 0:00:00</td>
<td>2001-6-1 0:00:00</td>
<td>0</td>
<td>EJJ</td>
<td>1975-6-30 0:00:00</td>
<td>满</td>
<td>171</td>
</tr>
<tr>
<td>2000075</td>
<td>2001-4-19 0:00:00</td>
<td>2001-5-25 0:00:00</td>
<td>0</td>
<td>LHY</td>
<td>1976-7-22 0:00:00</td>
<td>汉</td>
<td>171</td>
</tr>
</table>
</body>
</html>