用js增加行,刪除行

///////////////////////////////
//HTMLで、以下の変數へ値を格納する必要がある。
//items   挿入項目內容[Array]
//////////////////////////////

function addrow(s,TableId,cols,headline_num){

 var table_i=0;
 var datalength="";
 table_i=TableId.lastIndexOf("_");
 table_i=TableId.slice(table_i+1);
 oTBODY[table_i]=document.all(TableId).tBodies.item(0);
   // alert("headline_num"+headline_num);
   // alert("headline_total[table_i]"+headline_total[table_i]);
 if(!oTBODY[table_i]) return;
 datalength=oTBODY[table_i].rows.length-headline_total[table_i];
 if(data[table_i][0]==null){
 for(i=0;i<datalength;i++){
  data[table_i][i]=i;
 }
 }
 oTR=oTBODY[table_i].insertRow(data[table_i][s]+headline_num);
 for(i=0;i<cols;i++){

  oTCell=oTR.insertCell(i);
  oTCell.innerHTML=items[table_i][i].split('$rowplus1').join(data[table_i].length).split('$row').join(data[table_i].length-1).split('$headline_num').join(headline_num);
  oTCell.align=a_align[table_i][i];

 }

 for(i=data[table_i].length-1;i>0;i--){
 if(data[table_i][i]>=data[table_i][s])
  data[table_i][i]=data[table_i][i]+1;
 }
 data[table_i][data[table_i].length]=data[table_i][s]-1;
 for(i=0;i<data[table_i].length-1;i++){
  document.forms[0].elements["_core_tbl_"+TableId+"-rowid-"+i].value=data[table_i][i+1]-1;
  if(document.forms[0].elements["_core_tbl_"+TableId+"-"+itemname+"-"+i]!=null){
  document.forms[0].elements["_core_tbl_"+itemname+"-rowid-"+i].value=data[table_i][i+1]-1;
  }
 }
}


//
//最終行の追加
//

function addlastrow(TableId,cols){

 var datalength="";
 var table_i=0;
 table_i=TableId.lastIndexOf("_");
 table_i=TableId.slice(table_i+1);
 oTBODY[table_i]=document.all(TableId).tBodies.item(0);
 if(!oTBODY[table_i]) return;
 datalength=oTBODY[table_i].rows.length-headline_total[table_i];
 //alert(datalength);
 oTR=oTBODY[table_i].insertRow(datalength+headline_total[table_i]);
 for(i=0;i<cols;i++){
  oTCell=oTR.insertCell(i);oTCell.innerHTML=items[table_i][i].split('$rowplus1').join(datalength).split('$row').join(datalength-1).split('$headline_num').join(headline_total);;
  oTCell.align=a_align[table_i][i];
 }
 data[table_i][datalength]=datalength;
 if(document.forms[0].elements["_core_tbl_"+TableId+"-"+itemname+"-"+datalength]!=null){
 document.forms[0].elements["_core_tbl_"+TableId+"-"+itemname+"-"+datalength].value=datalength;
 }
}


function changedrow(row,TableId,headline_num,name){
 itemname=name;
 var debug;
 var table_i=0;
 var datalength="";
 table_i=TableId.lastIndexOf("_");
 table_i=TableId.slice(table_i+1);
 oTBODY[table_i]=document.all(TableId).tBodies.item(0);
 if(!oTBODY[table_i]) return;
 datalength=oTBODY[table_i].rows.length-headline_total[table_i]-1;
 //alert("_core_tbl_"+TableId+"-"+name+"-"+row);
 var v=document.forms[0].elements["_core_tbl_"+TableId+"-"+name+"-"+row].value;


 if (v>datalength){
  v=datalength;
 }
 //inputcheck
 if(v==""||isNaN(v)){
  alert("Input a nummber please!");
 }else{
  //input def
  var temp;
  if(data[table_i][0]==null){
   for(i=0;i<datalength;i++){
 data[table_i][i]=i;
   }
  }
  //alert("vaule:"+data[table_i][row]+"-v"+v);


  //small
  if(v<data[table_i][row]){
   for(j=0;j<datalength;j++){
 for(i=v;i<data[table_i][row];i++){
  if(data[table_i][j]==i&&table_kazu!=-1){
   //alert("#"+j+":"+data[table_i][j]+"+1");
   data[table_i][j]++;
   table_kazu=-1;
  }
 }
 table_kazu=0;
   }
  }
  //biger
  if(v>data[table_i][row]){
   for(j=0;j<datalength;j++){
 for(i=v;i>(data[table_i][row]);i--){
  if(data[table_i][j]==i&&table_kazu!=-1){
   //alert(v+"#"+j+":"+data[table_i][j]+"-1");
   data[table_i][j]--;
   table_kazu=-1;
  }
 }
 table_kazu=0;
   }

  }

  //reset;
  data[table_i][row]=v;
  if(data[table_i][0]!=null){
  for(i=0;i<datalength;i++){
   document.forms[0].elements["_core_tbl_"+TableId+"-"+name+"-"+i].value=data[table_i][i];
   document.forms[0].elements["_core_tbl_"+TableId+"-rowid-"+i].value=data[table_i][i];
  }
  }
 }

}
function onchanged(row,Tableid){
   // alert("<changed>:"+Tableid+"-"+row);
 if(document.forms[0].elements["_core_tbl_"+Tableid+"-row_add_update-"+row].value!=4)
  document.forms[0].elements["_core_tbl_"+Tableid+"-row_add_update-"+row].value=2;
}

發佈了43 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章