以前看到有人做了一个datagrid的排列功能很好 不知道代码放在什么地方了。点击第一行下移的话,ID1就跑到下面去了,有谁会这种代码吗???--------------------------1 | 数据 | (上移|下移)2 | 数据 | (上移|下移)......------------------------- 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是移动ID啊,在数据库里操作可以实现,如果用js我就不会了 可以通过通过插入行并结合样式表的display的block ,none值来隐藏当前行来做。但可能有点麻烦,我没有试,只是原来用过这种处理方式。 你是想在数所库中也改变吧,??直接改变数据库算了,,重生成datagrid... <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>【孟宪会之精彩世界】</title><style>INPUT.CustButton { BACKGROUND-COLOR: #cfd5e5;padding-top:1px;font-size:9pt;font-family:宋体,新宋体;}</style></head><body><h4>本文用具体的例子说明了交换表格行,并保持行内元素状态信息的实现方法。</h4><form name=formName><table width="98%" cellspacing="1" cellpadding="1" border="0" bgcolor="#0099FF" onclick="getObj()" id="tblContainer" align="center"><tr bgcolor="#E1E1E1"><td style="font-weight:bold" width="10%">是否显示</td><td style="font-weight:bold" width="40%">标题</td><td style="font-weight:bold" width="50%">URL 地址(href)</td><td style="display:none" width="0"></tr><tr bgcolor="#FFFFFF"><td><input type=checkbox checked></td><td>【孟宪会之精彩世界】之HTML</td><td>http://lucky.myrice.com/</td><td style="display:none"></td></tr><tr bgcolor="#FFFFFF"><td><input type=checkbox checked></td><td>【孟宪会之精彩世界】之ASP</td><td>http://ps.luohuedu.net/sg5s/</td><td style="display:none"></td></tr><tr bgcolor="#FFFFFF"><td><input type=checkbox checked></td><td>孟子E章</td><td>http://www.csdn.net/</td><td style="display:none"></td></tr><tr bgcolor="#FFFFFF"><td><input type=checkbox checked></td><td>【孟宪会之精彩世界】之.NET</td><td>http://lucky_elove.www1.dotnetplayground.com</td><td style="display:none"></td></tr></table><div align="center" style="width:100%;padding-top:5px"><input type="button" value="↑" class="CustButton" onclick="up()" /> <input type="button" value="↓" class="CustButton" onclick="down()" /> </div><div style="padding:5px" align="right"><input type="hidden" value="" name="getXMLOrder" /><input type="button" value=" 保 存 " class="CustButton" onclick="cal()" /></div></form><script>var oTr = new Object()function up(){if(oTr == null || oTr.tagName == null){alert("请选择要进行调整的行。")return}var e=oTrif(e.tagName=="TABLE" || e.tagName=="TBODY") returnwhile(e.tagName!="TR") e=e.parentElementif(e.previousSibling && e.previousSibling.rowIndex > 0)e.swapNode(e.previousSibling)resetTable()}function down(){if(oTr == null || oTr.tagName == null){alert("请选择要进行调整的行。")return}var e=oTrif(e.tagName=="TABLE" || e.tagName=="TBODY") returnwhile(e.tagName!="TR") e=e.parentElementif(e.nextSibling) e.swapNode(e.nextSibling)resetTable()}function getObj(){var e=event.srcElementif(e.tagName == null) returnif(e.tagName=="TABLE" || e.tagName=="TBODY") returnfor(var i=1;i<document.getElementById("tblContainer").rows.length;i++)document.getElementById("tblContainer").rows[i].bgColor = "#FFFFFF"while(e.tagName!="TR") e=e.parentElementif(e.rowIndex != 0) e.bgColor = "#5cbeff"if(event.srcElement.type=="checkbox"){if(event.srcElement.checked)e.cells[3].innerText = ""elsee.cells[3].innerText = "-1"}if(e.rowIndex != 0) oTr = eelseoTr = null}function cal(){var strXml = "<itemorders>" + "\n"var objRows = document.getElementById("tblContainer").rowsfor(var i = 1;i<objRows.length;i++){strXml += "<item>"strXml += "<itemorder>"if(objRows[i].cells[3].innerText =="-1")strXml += "-1"elsestrXml += objRows[i].rowIndexstrXml += "</itemorder>"strXml += "<href>"strXml += objRows[i].cells[2].innerTextstrXml += "</href>"strXml += "</item>" + "\n"}strXml += "</itemorders>"document.formName.getXMLOrder.value = strXmlalert("您可以在这里进行保存处理,\n\n这里省略了,只是把信息收集到XML字符串里,可以提交到服务器进行处理…………")alert(document.formName.getXMLOrder.value)returndocument.formName.submit()}function resetTable(){var objRows = document.getElementById("tblContainer").rowsfor(var i = 1;i<objRows.length;i++){if(objRows[i].cells[3].innerText == "-1") objRows[i].cells[0].innerHTML = "<input type=checkbox>"elseobjRows[i].cells[0].innerHTML = "<input type=checkbox checked>"}}</script> TO:回复人: boytomato(深爱一人叫颖的女孩!) ( ) 信誉:100 怎么直接在数据库里修改啊,“上移”是相对上移,不是移到第一行啊 你可以这样...用js 进行移动到上,移动到下,其实用js 移动也就是这样...移动时(向上时)你可以找到这一行的上一行数据,保存到变量,然后把当前数据更新到上一行,,然后把最量中的数据移到当前行.......移完后更新数据库... 在C/S里很简单,B/S没有研究过 关于用户控件获取动态数据的问题。 问题简单分大量 asp.net项目发布到本地不报错,但是上传到服务器上就报错,为什么啊? 如何实现跨页传值? 初学net的几点疑惑! GridView中根据列的值,自己定义要显示的内容 我在aspx.vb中写了一段判断代码,如果正确就要包含另一个页面#include...如何写?在线等 欢迎在外的河南老乡回老家发展! 怎么能不让datagrid自动去空格 C#开发的Web程序在调试运行过程中,总出现“句柄未初始化”错误,出错信息和调用函数如下 为什么字符串中间会有问号?? 如何在一个已经做成的ASP网站上添加ASP.NET页面
但可能有点麻烦,
我没有试,
只是原来用过这种处理方式。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>【孟宪会之精彩世界】</title>
<style>
INPUT.CustButton { BACKGROUND-COLOR: #cfd5e5;padding-top:1px;font-size:9pt;font-family:宋体,新宋体;}
</style>
</head>
<body>
<h4>本文用具体的例子说明了交换表格行,并保持行内元素状态信息的实现方法。</h4>
<form name=formName>
<table width="98%" cellspacing="1" cellpadding="1" border="0" bgcolor="#0099FF" onclick="getObj()" id="tblContainer" align="center">
<tr bgcolor="#E1E1E1">
<td style="font-weight:bold" width="10%">是否显示</td>
<td style="font-weight:bold" width="40%">标题</td>
<td style="font-weight:bold" width="50%">URL 地址(href)</td>
<td style="display:none" width="0">
</tr>
<tr bgcolor="#FFFFFF">
<td><input type=checkbox checked></td><td>【孟宪会之精彩世界】之HTML</td><td>http://lucky.myrice.com/</td><td style="display:none"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><input type=checkbox checked></td><td>【孟宪会之精彩世界】之ASP</td><td>http://ps.luohuedu.net/sg5s/</td><td style="display:none"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><input type=checkbox checked></td><td>孟子E章</td><td>http://www.csdn.net/</td><td style="display:none"></td>
</tr>
<tr bgcolor="#FFFFFF">
<td><input type=checkbox checked></td><td>【孟宪会之精彩世界】之.NET</td><td>http://lucky_elove.www1.dotnetplayground.com</td><td style="display:none"></td>
</tr>
</table>
<div align="center" style="width:100%;padding-top:5px">
<input type="button" value="↑" class="CustButton" onclick="up()" />
<input type="button" value="↓" class="CustButton" onclick="down()" />
</div>
<div style="padding:5px" align="right">
<input type="hidden" value="" name="getXMLOrder" />
<input type="button" value=" 保 存 " class="CustButton" onclick="cal()" />
</div>
</form>
<script>
var oTr = new Object()
function up()
{
if(oTr == null || oTr.tagName == null)
{
alert("请选择要进行调整的行。")
return
}
var e=oTr
if(e.tagName=="TABLE" || e.tagName=="TBODY") return
while(e.tagName!="TR") e=e.parentElement
if(e.previousSibling && e.previousSibling.rowIndex > 0)
e.swapNode(e.previousSibling)
resetTable()
}function down()
{
if(oTr == null || oTr.tagName == null)
{
alert("请选择要进行调整的行。")
return
}
var e=oTr
if(e.tagName=="TABLE" || e.tagName=="TBODY") return
while(e.tagName!="TR") e=e.parentElement
if(e.nextSibling) e.swapNode(e.nextSibling)
resetTable()
}
function getObj()
{
var e=event.srcElement
if(e.tagName == null) return
if(e.tagName=="TABLE" || e.tagName=="TBODY") return
for(var i=1;i<document.getElementById("tblContainer").rows.length;i++)
document.getElementById("tblContainer").rows[i].bgColor = "#FFFFFF"
while(e.tagName!="TR") e=e.parentElement
if(e.rowIndex != 0) e.bgColor = "#5cbeff"
if(event.srcElement.type=="checkbox")
{
if(event.srcElement.checked)
e.cells[3].innerText = ""
else
e.cells[3].innerText = "-1"
}
if(e.rowIndex != 0) oTr = e
else
oTr = null
}
function cal()
{
var strXml = "<itemorders>" + "\n"
var objRows = document.getElementById("tblContainer").rows
for(var i = 1;i<objRows.length;i++)
{
strXml += "<item>"
strXml += "<itemorder>"
if(objRows[i].cells[3].innerText =="-1")
strXml += "-1"
else
strXml += objRows[i].rowIndex
strXml += "</itemorder>"
strXml += "<href>"
strXml += objRows[i].cells[2].innerText
strXml += "</href>"
strXml += "</item>" + "\n"
}
strXml += "</itemorders>"
document.formName.getXMLOrder.value = strXml
alert("您可以在这里进行保存处理,\n\n这里省略了,只是把信息收集到XML字符串里,可以提交到服务器进行处理…………")
alert(document.formName.getXMLOrder.value)
return
document.formName.submit()
}function resetTable()
{
var objRows = document.getElementById("tblContainer").rows
for(var i = 1;i<objRows.length;i++)
{
if(objRows[i].cells[3].innerText == "-1") objRows[i].cells[0].innerHTML = "<input type=checkbox>"
else
objRows[i].cells[0].innerHTML = "<input type=checkbox checked>"
}
}
</script>
保存到变量,然后把当前数据更新到上一行,,
然后把最量中的数据移到当前行.......移完后更新数据库...