.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
[原创]用javascript实现dataGrid表头排序

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

javascript代码
 <script>
var curObj;
var shell=1;
function sortTable(L) {
 var start=new Date()
var i;
var theRows=new Array();
for(i=1;i<DataGrid1.rows.length;i++) {
 theRows[i-1]=new Array(DataGrid1.rows[i].cells[L].innerText.toLowerCase(),DataGrid1.rows[i].outerHTML);
 //alert(DataGrid1.rows[i].cells[L].innerText.toLowerCase());
 //alert(DataGrid1.rows[i].outerHTML);
 }
if (shell==1){
shell=2;
//window.SRC1.innerHTML=DataGrid1.rows[0].cells[3].innerText.toLowerCase()+'&nbsp;&nbsp;<img src="../images/down.gif" >'
 switch(parseInt(L)){
 //case 7:
 // theRows.sort(sortRows1);
 // break;
 case 4,5:
  theRows.sort(sortRows2);
  break;
 default:
  theRows.sort(sortRows);
 }
}
else{
shell=1;
//window.SRC1.innerHTML=DataGrid1.rows[0].cells[3].innerText.toLowerCase()+'&nbsp;&nbsp;<img src="../images/up.gif">'
 switch(parseInt(L)){
 //case 7:
 // theRows.sort(sortRows11);
 // break;
 case 4,5:
  theRows.sort(sortRows22);
  break;
 default:
  theRows.sort(sortRows0);
 }
}
var str=''
for(i=0;i<theRows.length;i++) {
 str+=theRows[i][1];
 }
DataGrid1.outerHTML='<table border="0" cellPadding="-1" cellSpacing="0" BorderColor="White" width="100%" bordercolor="#ffffff" name="DataGrid1" id="DataGrid1">'+DataGrid1.rows[0].outerHTML+str+'</table>'
curObj=null;
//alert(new Date()-start)
return ;
}
//降序-------------------
function sortRows(x,y) {
  if(x[0]>y[0]) return -1;
  else if(x[0]<y[0]) return 1;
  else return 0;
}
function sortRows1(x,y) {
  if(parseInt(x[0])>parseInt(y[0])) return -1;
  else if(parseInt(x[0])<parseInt(y[0])) return 1;
  else return 0;
}
function sortRows2(x,y) {
  aa=ReplaceAll(x[0],"/","-")
  bb=ReplaceAll(y[0],"/","-")
  if(aa>bb) return -1;
  else if(aa<bb) return 1;
  else return 0;
}
//end 降序---------------------
//升序------------------ -
function sortRows0(x,y) {
  if(x[0]<y[0]) return -1;
  else if(x[0]>y[0]) return 1;
  else return 0;
}
function sortRows11(x,y) {
  if(parseInt(x[0])<parseInt(y[0])) return -1;
  else if(parseInt(x[0])>parseInt(y[0])) return 1;
  else return 0;
}
function sortRows22(x,y) {
  aa=ReplaceAll(x[0],"/","-")
  bb=ReplaceAll(y[0],"/","-")
  if(aa<bb) return -1;
  else if(aa>bb) return 1;
  else return 0;
}
//end 升序---------------------

function ReplaceAll(s,s1,s2){
 //把s种的s1全部替换成s2
 var i;
 s=""+s;
 i=s.indexOf(s1);
 if(i!=-1)
  return s.substr(0,i)+s2+ReplaceAll(s.substr(i+s1.length,s.length-i-s1.length),s1,s2);
 else
  return s;
}
  </script>
  <script language="javascript">
  function slt_all()
  {
   for(var i=2;i<=document.getElementById('DataGrid1').rows.length;i++)
   {
    document.getElementById('DataGrid1__ctl'+i+'_chkDel').checked = document.getElementById('chkAll').checked;
   }
  }
  </script>
后台代码
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
         if(e.Item.ItemType==ListItemType.Header)
   {
    for(int i=0;i<e.Item.Cells.Count;i++)
    {
     e.Item.Cells[i].Attributes["onClick"]="javascript:sortTable("+i+")";

    }
   }
  }




相关文章

相关软件