首页 > 编程 > .NET > 正文

用.Net实现基于CSS的AJAX开发(3)

2024-07-10 13:12:46
字体:
来源:转载
供稿:网友


  var linkel = createelement('a');
   linkel.href = '#';
   linkel.onclick = this.uprow;
   linkel.setattribute('columnid', k);
  
   var innerels = table.tbodies[0].rows[j+1].cells[k].childnodes;
  
   linkel.innertext = "上移";
   table.tbodies[0].rows[j+1].cells[k].appendchild(linkel);
  
   var p = createelement('span');
   p.innerhtml = "  ";
   table.tbodies[0].rows[j+1].cells[k].appendchild(p);
  
   var linkel2 = createelement('a');
   linkel2.href = '#';
   linkel2.onclick = this.downrow;
   linkel2.setattribute('columnid', k);
  
   var innerels2 = table.tbodies[0].rows[j+1].cells[k].childnodes;
  
   linkel2.innertext = "下移";
   table.tbodies[0].rows[j+1].cells[k].appendchild(linkel2);
   }
   }
  
   }
   // 隔行换颜色,依赖odd样式
   this.isodd = true;
   var rows = table.tbodies[0].rows;
  
   // we appendchild rows that already exist to the tbody, so it moves them rather than creating new ones
   for (var i=0;i<rows.length-1;i++) ...{
   this.dostripe(rows[i+1]);
   }
   },
   /**//**
   * 隔行分色策略,依赖odd样式
   **/
   dostripe : function(rowitem) ...{
   if (!this.isodd) ...{
   css.addclasstoelement(rowitem, 'odd');
   } else ...{
   css.removeclassfromelement(rowitem, 'odd');
   }
  
   this.isodd = !this.isodd;
   },
   /**//**
   * 删除目标列
   **/
   delrow : 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;
  
   if (!table.tbodies || table.tbodies[0].rows.length <= 1) ...{
   return false;
   }
  
   this.isodd = true;
   var rows = table.tbodies[0].rows;
  
   // 实现ajax调用处理删除
   var pars = "pars=";
   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 +"|";
   }
   }
   }
   pars += "&command=delrow&callback=afterupdate&table="+table.id;
   table.deleterow(tr.rowindex);
  
   // 重新隔行换色
   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;
   }
   new ajax.updater('result','dispatcher.ajax?'+pars,...{evalscripts: true});
   if(table.rows.length<=1) ...{
   alert("该页已无数据,系统将重载数据项");
   window.location = "?";
   }
   },
   /**//**
   * 修改按钮
   **/
   editrow : 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 column = linkel.getattribute('columnid') || td.cellindex;
  
   var cellcount = tr.cells.length;
   // 如果没点击修改
   if(tr.getattribute('editing')!=1) ...{
   for(var o=0;o<cellcount;o++) ...{
   // 如果该列含有修改样式、删除样式或其他类似样式,则忽略该列
   if(!css.elementhasclass(tr.cells[o],'editbtn')&&!css.elementhasclass(tr.cells[o],'delbtn')
   &&!css.elementhasclass(tr.cells[o],'updownbtn') &&!css.elementhasclass(tr.cells[o],'noedit')) ...{
   var inputel = createelement('input');
   inputel.type = "text";
   // 文本框大小
   // inputel.size = tr.cells[o].innertext.length*2; inputel.size = tr.cells[o].innertext.replace(/[^/x00-/xff]/gi,'xx').length;
   tr.cells[o].setattribute('columnid', o);
   inputel.setattribute('oldvalue', tr.cells[o].innerhtml);
   var inputels = tr.cells[o].innertext;
   inputel.value = inputels;
   tr.cells[o].firstchild.removenode(true);
   tr.cells[o].appendchild(inputel);
   tr.setattribute('editing',1);
   linkel.setattribute('oldvalue',linkel.innertext);
   }
   }
   linkel.innertext = "确定";
  
   var p = createelement('span');
   p.innerhtml = "  ";
   td.appendchild(p);
  
   var linkel2 = createelement('a');
   linkel2.href="#";
   linkel2.onclick = that.cancelrow;
   linkel2.innertext = "取消";
   td.appendchild(linkel2);
   }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表