⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmldisp.txt

📁 Delphi 应用举例
💻 TXT
字号:
"//Copyright Inprise Corporation 1999, all rights reserved, to be used with Borlands Midas-technology only, "
"//unless special permission has been given."
"var xmldisp_vers='1.0';"
"var szNotUpdateable='disabled';"
"var iUpKey=38, iDownKey=40; "
""
"new xmlDisplay(null,null,null);"
"xmlDisplay.prototype.fldcnt=0;"
"xmlDisplay.prototype.rows=0;"
"xmlDisplay.prototype.bDontPost=0;"
"xmlDisplay.prototype.scrolloffs=0;"
"xmlDisplay.prototype.page=0;"
"xmlDisplay.prototype.fldfirst=0;"
"xmlDisplay.prototype.KeyMap=null;"
"xmlDisplay.prototype.focusflag=0;"
"//methods"
"xmlDisplay.prototype.getFldDes=function(i){return this.src.Fields.Field[this.names[i]];}"
"xmlDisplay.prototype.selectRow=function(r){var pos=this.page*this.rows+r+this.scrolloffs;return this.src.setPos(pos);}"
""
"xmlDisplay.prototype.getValue=GridGetValue;"
"xmlDisplay.prototype.putValue=GridPutValue;"
"xmlDisplay.prototype.getRow=GridGetRow;"
"xmlDisplay.prototype.valchanged=GridValChanged;"
"xmlDisplay.prototype.setFocus=GridSetFocus;"
"xmlDisplay.prototype.xvalidate=GridValidate; "
"xmlDisplay.prototype.scroll=GridScroll;"
"xmlDisplay.prototype.refr=GridRefr;"
"//public"
"xmlDisplay.prototype.post=GridPost;"
"xmlDisplay.prototype.postall=function(){if (this.src.forcepost()) return;this.post();}"
"xmlDisplay.prototype.removeRow=GridDelete;"
"xmlDisplay.prototype.newRow=GridNew;"
"xmlDisplay.prototype.undo=GridUndo;"
""
"xmlDisplay.prototype.first=GridFirst;"
"xmlDisplay.prototype.last=GridLast;"
"xmlDisplay.prototype.pgup=pgBackw;"
"xmlDisplay.prototype.pgdown=pgForw;"
"xmlDisplay.prototype.up=GridUp;//pre-rec"
"xmlDisplay.prototype.down=GridDown;//next-rec"
"xmlDisplay.prototype.left=GridL;//prev-field"
"xmlDisplay.prototype.right=GridR;//next-field"
"xmlDisplay.prototype.sort=function(n){if(this.src.forcepost())return;var i;for(i=0;i<this.fldcnt;i++){if (this.names[i]==n){this.fCol=i;break;}}this.src.sort(n);this.first();}"
"xmlDisplay.prototype.xfocus=GridFocus;"
"xmlDisplay.prototype.keys=GridKeys;"
"xmlDisplay.prototype.setKeyMap=GridSetKeys;"
"xmlDisplay.prototype.OnError=function(s){alert(s);return null;}"
""
"var fset=0;"
""
"function xmlDisplay(src,fldids,names,rstate)"
"{"
"this.src=src;"
"this.fldids=fldids;"
"this.names=names;"
"this.rstate=rstate;"
"if(src==null||src.doc=='') return null;"
" "
"src.regobj(this);"
"if(fldids){this.fldcnt=fldids.length}else{if(names){this.fldcnt=names.length}else{this.fldcnt=this.src.FieldCnt}};"
"this.rows=0;"
"var i;"
"for(i=0;i<this.fldcnt;i++)"
"{"
" var ref=fldids[i]; "
" var t=ref.type;if(t==null)t=ref[0].type;"
" if(t=='text'||t=='textarea')"
" {"
"  var l=ref.length;"
"  if(isNaN(l)) l=1;"
"  if(this.rows==0) this.rows=l;"
"  if(l!=this.rows){this.OnError(names[i]+': inconsistent row-count');if(l<this.rows) this.rows=l;}"
" }"
" var f=this.getFldDes(i);"
" if(f==null) return this.OnError(names[i]+': name not found in rowset');"
""
" if(this.rows!=0){"
" if(this.rows==1)"
" {"
"  if(ref.setAttribute)"
"  {"
"   if(f.readonly==1) ref.setAttribute(szNotUpdateable,1);"
"   if(f.maxlength>0&&f.Type!=szUni) ref.setAttribute('maxLength',f.maxlength);"
"  }"
" }"
" else"
" {"
"  var j;"
"  for(j=0;j<ref.length;j++)"
"  {"
"   if(ref[j].setAttribute)"
"   {"
"    if(f.readonly==1) ref[j].setAttribute(szNotUpdateable,1);"
"    if(f.maxlength>0) ref[j].setAttribute('maxLength',f.maxlength);"
"   }"
"  }"
" }"
" }"
" if(f.readonly==1&&i==this.fldfirst) this.fldfirst++;"
"}"
"this.fRow=0;"
"this.fCol=0;"
""
"//Init"
"this.selectRow(0);"
"this.refr(1);"
"if(fset==0&&this.src.parent==null){this.setFocus(0,this.fldfirst);fset++;}"
"//this.keys=GridKeys;"
"if(this.rows==1)"
"{"
"this.setKeyMap(iUpKey,'left');"
"this.setKeyMap(iDownKey,'right');"
"}"
"else"
"{"
"this.setKeyMap(iUpKey,'up');"
"this.setKeyMap(iDownKey,'down');"
"}"
"this.setKeyMap(33,'pgup');"
"this.setKeyMap(34,'pgdown');"
"this.setKeyMap(45,'newRow');"
"this.setKeyMap(13,'right'); "
"return this;"
"}"
""
"function GridKeys(el)"
"{"
"var e,k;"
"e=self.event;"
"if(!e) return true;"
"if(e!=null){k=e.keyCode;}else{k=e.which;}"
" "
"var found=false;"
"var r,c;"
""
"for(c=0;c<this.fldcnt;c++)"
"{"
" var ref=this.fldids[c];"
" if(this.rows==1){if (ref==el) found= true;}"
" else"
" {"
"  for(r=0; r<this.rows;r++)"
"   {if(ref[r]==el){found=true; break;}}"
" }"
" if(found) break;"
"} "
"if(!found) return true;"
""
"if(this.KeyMap==null) return true;"
"var a=this.KeyMap[k.toString()];"
"if(a==null||this[a]==null){return true;}"
"a='this.'+a+'();';"
"eval(a);"
"return true;  "
"}"
""
"function GridL()"
"{"
"var r=this.fRow,c=this.fCol;"
"do{if(c>0)c--;else c=this.fldcnt-1;}"
"while(this.getFldDes(c).readonly==1&&c!=this.fCol)"
"this.setFocus(r,c);"
"}"
""
"function GridR()"
"{"
"var r=this.fRow,c=this.fCol;"
"do{if(c< this.fldcnt-1)c++;else c=0;}"
"while(this.getFldDes(c).readonly==1&&c!=this.fCol)"
"this.setFocus(r,c);"
"}"
""
"function GridDown()"
"{"
"var r=this.fRow, c=this.fCol;"
"if(this.rows==1){this.pgdown();return;}"
"if(r<this.rows-1){r++;}else{this.scroll(1);return;}"
"this.setFocus(r,c);"
"}"
""
"function GridUp()"
"{"
"var r=this.fRow,c=this.fCol;"
"if(this.rows==1){this.pgup();return;}"
"if(r>0) r--;else{this.scroll(-1);return;}"
"this.setFocus(r,c);"
"}"
""
"function pgBackw()"
"{"
"if(this.page>0||this.scrolloffs)"
"{"
" if(this.src.forcepost()) return;"
" if(this.page) this.page--;else{this.fRow+=this.scrolloffs-this.rows;this.scrolloffs=0}"
" if(this.scrolloffs<0&&this.page==0){this.scrolloffs=0;this.fRow=0;}"
" if(this.rows==1) this.selectRow(0);"
" else this.refr(1);"
"}"
"else this.fRow=0;"
"this.setFocus(this.fRow, this.fCol);"
"}"
""
"function pgForw()"
"{"
"if(this.rows*(this.page+2)<this.src.RowCnt) "
"{"
" if(this.src.forcepost()) return;"
" this.page++;"
" if(this.rows==1) this.selectRow(0);else this.refr(1);"
"}"
"else{this.last();return;}"
"this.setFocus(this.fRow,this.fCol);"
"}"
""
"function GridScroll(inc)"
"{"
"if(inc>0)"
"{"
" if(this.page*this.rows+this.fRow+this.scrolloffs>=this.src.RowCnt) return;"
" if(this.scrolloffs==this.rows-1){this.scrolloffs=0;this.page++;}"
" else this.scrolloffs++;"
"}"
"else"
"{"
" if(-this.scrolloffs==this.rows-1){if(this.page>0){this.scrolloffs=0;this.page--;}}"
" else{this.scrolloffs--;if(this.page*this.rows+this.scrolloffs<0)this.scrolloffs=0}"
"}"
"var r=this.fRow;"
"this.selectRow(r);"
"this.refr(1);"
"this.setFocus(r,this.fCol);"
"}"
""
"function GridSetFocus(r,c)"
"{"
"if(c>=this.fldcnt||r>=this.rows) return;"
"var ref=this.fldids[c];"
"if(this.rows>1) ref=ref[r];"
"if(ref.disabled||ref.readonly) return; "
"if(ref.focus!=null){this.focusflag=1;ref.focus();if(this.focusflag==1)this.xfocus(r,c);}"
"}"
""
"function GridFocus(r,c)"
"{"
"var ref;"
"this.focusflag=0;"
"if(c==null)"
"{ "
" if(r==null){r=this.fRow;c=this.fCol;ref=this.fldids[c];}"
" else"
" {"
"  var i,j,ref,found=0;"
"  for(j=0;j<this.fldcnt;j++)"
"  {"
"   ref=this.fldids[j];"
"   if(this.rows==1){if(ref==r){r=0;c=j;found=1;break;}}   "
"   else for(i=0;i<this.rows;i++) if(ref[i]==r){r=i;c=j;found=1;break;}"
"   if(found) break;"
"  }  "
"  if(found==0)return;"
" }"
"}"
"else ref=this.fldids[c];"
"if(this.rows>1) ref=ref[r];"
"var f=this.getFldDes(c);"
"var p=this.page*this.rows+this.scrolloffs;"
"if(f&&f.readonly==1)"
"{"
" if(ref.getAttribute&&ref.getAttribute('disabled')==true){}//explorer only"
" else ref.blur();"
" return;"
"}"
"else"
"{"
" if(r!=this.fRow&&this.bDontPost==0)"
" {if(this.src.noIns!=0&&(p+r)>=this.src.RowCnt){ref.blur();return;}"
"   if(this.src.forcepost()!=0)return;"
" }"
" if(c!=this.fCol){if(this.src.noUpd!=0&&p+this.fRow<this.src.RowCnt&&this.valchanged(p,this.fRow,this.fCol)!=0){this.refr(1);}"
"     else if(this.valchanged(p,this.fRow,this.fCol)!=0&&this.xvalidate(this.fRow,this.fCol,0)==0)return;}"
" this.fRow=r;"
" this.fCol=c;"
" if(this.rows>1) this.selectRow(r);"
" if(ref.select!=null) ref.select();"
" this.bDontPost=0;"
"}"
"}"
""
"function GridUndo()"
"{"
"var r=this.fRow;"
"if(r==-1) return;"
"var pos=this.page*this.rows+r+this.scrolloffs;"
"if(pos>=0&&pos<this.src.RowCnt)"
"{"
" this.src.undo(pos);"
" if(pos&&pos>=this.src.RowCnt) this.last();"
" else this.setFocus(r,this.fCol);"
"}"
"if(pos>=this.src.RowCnt){this.refr(1);this.last();}"
"}"
""
"function GridNew()"
"{"
"if(this.src.noIns) return;"
"if(this.src.forcepost()) return;"
"var pages=0,r=this.src.RowCnt%this.rows;"
"pages=(this.src.RowCnt-r)/this.rows;"
"if(r==0&&pages)"
"{"
" if(this.rows==1) pages++;"
" else this.scrolloffs=1;"
" r=this.rows-1;"
" this.page=pages-1;"
"}"
"else{this.scrolloffs=0;this.page=pages;}"
"this.refr(1);"
"this.setFocus(r,this.fldfirst);"
"}"
""
"function GridFirst()"
"{"
"if(this.src.forcepost()) return;"
"this.scrolloffs=0;"
"this.page=0;"
"if(this.rows==1) this.selectRow(0);else{if(this.src.pos!=0)this.refr(1);}"
"this.setFocus(0,this.fCol);"
"}"
""
"function GridLast()"
"{"
"if(this.src.forcepost()) return;"
"var r=this.src.RowCnt%this.rows ;"
"pages=(this.src.RowCnt-r)/this.rows;"
"if(r==0){r=this.rows-1;this.page=pages-1;this.scrolloffs=0;}"
"else{this.scrolloffs=0;this.page=pages;r--;}"
""
"if(this.rows==1) this.selectRow(0);"
"else this.refr(1);"
"this.setFocus(r,this.fCol);"
"}"
""
"function GridValChanged(pos,r,c)"
"{"
"var f=this.getFldDes(c);"
"var val='';"
"if(pos+r<this.src.RowCnt)"
"{if(f){val=f.Value(pos+r);if(val) val=f.todisp(val);}}"
"else"
"{"
" if(this.getValue(c,r)!='')return 1;"
" return 0;"
"}"
"var gval=this.getValue(c,r);"
"if(val==gval) return 0;"
" "
"if(f&&(f.Type=='string'||f.Type==szUni||f.subtype=='Text'))"
"  if(txtnorm(val)==txtnorm(gval)) return 0;"
"if(f&&f.readonly==1){this.OnError(f.name+' : Cannot change readonly field');return 0;}"
"return 1;"
"}"
""
"function txtnorm(s){var v=new Array();v=s.split('\r\n');s=v.join(' ');v=s.split('\n');s=v.join(' ');v=s.split('\r');s=v.join(' ');return s;}"
""
"function GridValidate(r,c,q)"
"{"
"if(this.bDontPost) return 0;"
"var ref;"
"if(c==null)"
"{ "
" var i,j,ref,found=0;"
" for(j=0;j<this.fldcnt;j++)"
" {"
"  ref=this.fldids[j];"
"  if(this.rows==1){if (ref==r) {r=0;c=j;found=1;break;}}   "
"  else for(i=0;i<this.rows;i++) if(ref[i]==r){r=i;c=j;found=1;break;}"
"  if(found) break;"
" }  "
" if(found==0) return 1;"
"}"
""
"var v=this.getValue(c,r);"
"var f=this.getFldDes(c);"
"var res='';"
"if(f){if(f.required!=0&&v==''&&q==0)res=v;else res=f.validate(v);}"
"if(res!=null){v=res;this.putValue(c,r,v);return 1;}"
""
"this.setFocus(r,c);"
"return 0;"
"}"
""
"function GridGetRow(row)"
"{"
"var i,f,v,r=new Array();"
"for(i=0;i<this.fldcnt;i++)"
"{"
" v=this.getValue(i,row);"
" f=this.getFldDes(i);"
" if(f) r[this.names[i]]=f.frdisp(v);"
"}"
"return r;"
"}"
""
"function GridPutValue(col,row,val)"
"{"
"var ref=this.fldids[col];"
"if(this.rows==1)"
"{"
" if(ref.type=='select-one'){var le=ref.length,i;for(i=0;i<le;i++)if(ref[i].value==val)ref[i].selected=true;else ref[i].selected=false;}else"
" if(ref.type=='text'||ref.type=='textarea'||ref.type=='select-one') ref.value=val;"
" else"
" if(ref[0].type=='radio')"
" {"
"  var i;"
"  for(i=0;i<ref.length;i++)"
"  {"
"   if(ref[i].value==val){ref[i].checked=true; break;}"
"   else ref[i].checked=false;"
"  } "
" }"
"}"
"else ref[row].value = val;"
"}"
""
"function GridGetValue(col,row)"
"{"
"var ref=this.fldids[col];"
"if(this.rows==1)"
"{"
" if(ref.type=='select-one'){var le=ref.length,i;for(i=0;i<le;i++)if(ref[i].selected)return ref[i].value;return ''}"
" if(ref.type=='text'||ref.type=='textarea') return ref.value;"
" if(ref[0].type=='radio')"
" {"
"  var i;"
"  for(i=0;i<ref.length;i++)"
"  {if(ref[i].checked==true) return ref[i].value;}"
" }"
" return '';"
"}"
"if(ref[row].type=='select-one') "
"{return ref[row].options[ref[row].selectedIndex].value}"
"else return ref[row].value;"
"}"
""
"function GridDelete()"
"{"
"if(this.src.noDel) return;"
"if(this.src.forcepost()) return;"
"var r=this.fRow;"
"if(r==-1) return;"
"var pos=this.page*this.rows+r+this.scrolloffs;"
"if(pos>=0&&pos<this.src.RowCnt)"
"{"
" this.src.deletex(pos);"
" if(pos&&pos>=this.src.RowCnt) this.last();"
" else this.setFocus(r,this.fldfirst);"
"}"
"}"
""
"function GridRefr(r)"
"{"
"if(r==0&&this.rows>1) return;"
"var i,j, pos;"
"if(r==2){this.scrolloffs=0;this.fRow=0;this.page=0}"
"if(this.rows==1) {if (this.page<this.src.RowCnt){pos=this.src.pos;this.page=pos;}else pos=this.page}"
"else pos=this.page*this.rows+this.scrolloffs;"
"if(pos<0) pos=0;"
""
"for(i=0;i<this.rows;i++)"
"{"
"for(j=0;j<this.fldcnt;j++)"
"{"
" var val='';"
" if(pos<this.src.RowCnt)"
" {"
"  var f=this.getFldDes(j);"
"  if(f){val=f.Value(pos);if(val)val=f.todisp(val);}"
" }"
" this.putValue(j,i,val);"
"}"
"if(this.rstate)"
"{"
" var st=this.src.RowState(pos);"
" if(this.rows==1) this.rstate.value=st;else this.rstate[i].value=st;"
"}"
"pos++;"
"}"
"}"
""
"function GridPost()"
"{"
"if(this.bDontPost) return 1;"
"var src=this.src;"
"var j,r=this.fRow,pos=this.page*this.rows+this.scrolloffs;"
"var bMod=0,err=0,bIns=(pos+r>=src.RowCnt)?1:0;"
"var row=null;"
""
"for(j=0;j<this.fldcnt;j++)"
"{"
" if(this.valchanged(pos,r,j))"
" { "
"  if((bIns==0&&src.noUpd!=0)||(bIns!=0&&src.noIns)){this.refr(1);return 0;}"
"  f=this.getFldDes(j);"
"  if(f&&f.readonly!=0)continue;"
"  bMod=1;"
"  if(this.xvalidate(r,j,1)==0) return 1;"
"  if(row==null)row=new Array();"
"  var f,v;"
"  v=this.getValue(j,r);"
"  if(f)row[this.names[j]]=f.frdisp(v);"
" }"
"}"
"if(bMod)"
"{"
" if(bIns)"
" {"
"  for(j=0;j<this.fldcnt;j++) if(this.xvalidate(r,j,1)==0) return 1;"
" }"
" if(bIns==0){err=src.modify(pos+r,row);}else{err=src.insert(row,1);}"
"}"
"return err;"
"}"
""
"function GridSetKeys(key,action,param)"
"{"
"if(this.KeyMap==null) this.KeyMap=new Array();"
"this.KeyMap[key.toString()]=action;"
"}"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -