当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  基于css样式绑定的样式驱动式AJAX程序开发(.net实现)5

 基于css样式绑定的样式驱动式AJAX程序开发(.net实现)5

点击次数:18 次 发布日期:2008-11-26 11:07:18 作者:源代码网
源代码网推荐      /**//**
源代码网推荐   * 下移按钮
源代码网推荐   **/
源代码网推荐   downRow : function(e) ...{
源代码网推荐   var that = crudbtn.that;
源代码网推荐   var linkEl = getEventTarget(e);
源代码网推荐   var td = linkEl.parentNode;
源代码网推荐   var tr = td.parentNode;
源代码网推荐   var thead = tr.parentNode;
源代码网推荐   var table = thead.parentNode;
源代码网推荐  
源代码网推荐   var otr = tr;
源代码网推荐   if(tr.rowIndex == table.rows.length-1) ...{
源代码网推荐   alert("已经是最后一行了");
源代码网推荐   return false;
源代码网推荐   }
源代码网推荐   else ...{
源代码网推荐   table.moveRow(tr.rowIndex,tr.rowIndex+1);
源代码网推荐   this.isOdd = true;
源代码网推荐   var rows = table.tBodies[0].rows;
源代码网推荐  
源代码网推荐   // 重新隔行换色
源代码网推荐   for (var i=1;i<rows.length;i++) ...{
源代码网推荐   if (!this.isOdd) ...{
源代码网推荐   css.addClassToElement(rows[i], "odd");
源代码网推荐   } else ...{
源代码网推荐   css.removeClassFromElement(rows[i], "odd");
源代码网推荐   }
源代码网推荐   this.isOdd = !this.isOdd;
源代码网推荐   }
源代码网推荐   }
源代码网推荐  
源代码网推荐   // 实现AJAX调用处理下移
源代码网推荐   // 下移则把pars和pars2的值反过来,后台不变
源代码网推荐   var pars = "pars2=";
源代码网推荐   for(h=0;h<tr.cells.length;h++) ...{
源代码网推荐   if(!css.elementHasClass(tr.cells[h],"editbtn")&&!css.elementHasClass(tr.cells[h],"delbtn")
源代码网推荐   &&!css.elementHasClass(tr.cells[h],"updownbtn")) ...{
源代码网推荐   var colid = tr.cells[h].getAttribute("columnId");
源代码网推荐   if(tr.cells[h].firstChild.value!=null) ...{
源代码网推荐   pars += h +"^"+ tr.cells[h].firstChild.value +"|";
源代码网推荐   }
源代码网推荐   else ...{
源代码网推荐   pars += h +"^"+ tr.cells[h].innerText +"|";
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐   var pars2 = "&pars=";
源代码网推荐   var uprow = table.rows[tr.rowIndex-1];
源代码网推荐   for(y=0;y<uprow.cells.length;y++) ...{
源代码网推荐   if(!css.elementHasClass(uprow.cells[y],"editbtn")&&!css.elementHasClass(uprow.cells[y],"delbtn")
源代码网推荐   &&!css.elementHasClass(uprow.cells[y],"updownbtn")) ...{
源代码网推荐   var colid = uprow.cells[y].getAttribute("columnId");
源代码网推荐   if(uprow.cells[y].firstChild.value!=null) ...{
源代码网推荐   pars2 += y +"^"+ uprow.cells[y].firstChild.value +"|";
源代码网推荐   }
源代码网推荐   else ...{
源代码网推荐   pars2 += y +"^"+ uprow.cells[y].innerText +"|";
源代码网推荐   }
源代码网推荐   }
源代码网推荐   }
源代码网推荐   pars3 = "&command=MoveUpDown&callback=afterUpdate&table="+table.id;
源代码网推荐   new Ajax.Updater("result","Dispatcher.ajax?"+pars+pars2+pars3,...{evalScripts: true});
源代码网推荐   }
源代码网推荐  
源代码网推荐  }
源代码网推荐  function crudbtnInit() ...{
源代码网推荐   crudbtn.init();
源代码网推荐  }
源代码网推荐  // 回调: 处理结束后的反映
源代码网推荐  afterUpdate = function(e) ...{
源代码网推荐   if(e == "true") ...{
源代码网推荐  
源代码网推荐   }
源代码网推荐   else if(e == "false") ...{
源代码网推荐   alert("您的操作失败了,请重新尝试");
源代码网推荐   window.location.reload();
源代码网推荐   }
源代码网推荐   else if(e == "repeated") ...{
源代码网推荐   alert("您写入了重复的信息!请重新输入");
源代码网推荐   window.location.reload();
源代码网推荐   }
源代码网推荐  
源代码网推荐  }
源代码网推荐  addEvent(window, "load", crudbtnInit);
源代码网推荐  
源代码网推荐  后台处理同 AjaxDelRow.cs
源代码网推荐  
源代码网推荐  排序样式绑定JS:
源代码网推荐  
源代码网推荐  /**//*
源代码网推荐   * Written by Wangzhongyuan
源代码网推荐   * 通过绑定sort样式进行后台排序的代码
源代码网推荐   */
源代码网推荐  var sorting = ...{
源代码网推荐  
源代码网推荐   that: false,
源代码网推荐   isOdd: false,
源代码网推荐   sortColumnIndex : -1,
源代码网推荐   lastAssignedId : 0,
源代码网推荐   newRows: -1,
源代码网推荐   lastSortedTable: -1,
源代码网推荐  
源代码网推荐   /**//**
源代码网推荐   * 初始化排序器
源代码网推荐   **/
源代码网推荐   init : function() ...{
源代码网推荐   // 首先, 查看浏览器是否能执行此脚本(有些浏览器不能用getElementsByTagName)
源代码网推荐   if (!document.getElementsByTagName) ...{
源代码网推荐   return;
源代码网推荐   }
源代码网推荐  
源代码网推荐   this.that = this;
源代码网推荐  
源代码网推荐   this.run();
源代码网推荐  
源代码网推荐   },
源代码网推荐  
源代码网推荐   /**//**
源代码网推荐   * 在文档中遍历所有table,如果table拥有sort样式,则启动排序功能
源代码网推荐   **/
源代码网推荐   run : function() ...{
源代码网推荐   var tables = document.getElementsByTagName("table");
源代码网推荐  
源代码网推荐   for (var i=0; i < tables.length; i++) ...{
源代码网推荐   var thisTable = tables[i];
源代码网推荐  
源代码网推荐   if (css.elementHasClass(thisTable, "sort")) ...{
源代码网推荐   this.makeSortable(thisTable);
源代码网推荐   }
源代码网推荐   }
源代码网推荐   },
源代码网推荐  
源代码网推荐   /**//**
源代码网推荐   * 启动给定表的排序功能
源代码网推荐   **/
源代码网推荐   makeSortable : function(table) ...{
源代码网推荐  
源代码网推荐   // 首先,检测该table是否有ID.如果没有就分配一个给它
源代码网推荐   if (!table.id) ...{
源代码网推荐   table.id = "sortableTable"+this.lastAssignedId++;
源代码网推荐   }
源代码网推荐   // 判断有没有数据
源代码网推荐   if(table.rows.length<2)
源代码网推荐   return ;
源代码网推荐   // 把表格的第一行视为表头,然后下面要把它们变成可点击
源代码网推荐   var row = table.tBodies[0].rows[0];
源代码网推荐   /**//* 结合后台的hack: 主要用于解析初始化时的排序方向.
源代码网推荐   * 由于考虑到适应自定义数据绑定模板,故越过表头,使用第二行
源代码网推荐   */
源代码网推荐   var row2 = table.tBodies[0].rows[1];
源代码网推荐  
源代码网推荐   for (var i=0; i < row.cells.length; i++) ...{
源代码网推荐  
源代码网推荐   // 建立一个链接,并使它拥有能控制排序的onClick事件
源代码网推荐   var linkEl = createElement("a");
源代码网推荐   linkEl.href = "#";
源代码网推荐   linkEl.onclick = this.headingClicked;
源代码网推荐   linkEl.setAttribute("columnId", i);
源代码网推荐   linkEl.title = "点击排序";
源代码网推荐  
源代码网推荐   // 获取标题行的所有列,以便加入链接
源代码网推荐   var innerEls = row.cells[i].childNodes;
源代码网推荐   // 遍历标题行的所有列并加入链接
源代码网推荐   for (var j = 0; j < innerEls.length; j++) ...{
源代码网推荐   // 如果标题列样式为nosort则不排序
源代码网推荐   if(!css.elementHasClass(row.cells[i], "nosort"))
源代码网推荐   linkEl.appendChild(innerEls[j]);
源代码网推荐   }
源代码网推荐  
源代码网推荐   // 把新链接加到表格中
源代码网推荐   row.cells[i].appendChild(linkEl);
源代码网推荐  
源代码网推荐   var spanEl = createElement("span");
源代码网推荐   css.addClassToElement(row.cells[i], "tableSortArrow");
源代码网推荐  
源代码网推荐   // 加两个空格
源代码网推荐   // spanEl.appendChild(document.createTextNode(" "));
源代码网推荐   row.cells[i].appendChild(spanEl);
源代码网推荐  
源代码网推荐   // 为每一列判断从后台传过来的排序方向样式
源代码网推荐   if(css.elementHasClass(row2.cells[i], "sortOrderASC")) ...{
源代码网推荐   spanEl.className = "tableSortArrow";
源代码网推荐   spanEl.appendChild(document.createTextNode(" ↑"));
源代码网推荐   spanEl.setAttribute("sortOrder", "ASC");
源代码网推荐   }
源代码网推荐   else if(css.elementHasClass(row2.cells[i], "sortOrderDESC"))
源代码网推荐   ...{
源代码网推荐   spanEl.className = "tableSortArrow";
源代码网推荐   spanEl.appendChild(document.createTextNode(" ↓"));
源代码网推荐   spanEl.setAttribute("sortOrder", "DESC");
源代码网推荐   }
源代码网推荐  
源代码网推荐   }
源代码网推荐  
源代码网推荐   // 初始化隔行换色标志
源代码网推荐   this.isOdd = false;
源代码网推荐   var rows = table.tBodies[0].rows;
源代码网推荐  
源代码网推荐   // 启动隔行换色
源代码网推荐   for (var i=0;i<rows.length;i++) ...{
源代码网推荐   this.doStripe(rows[i]);
源代码网推荐   }
源代码网推荐   },
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华