MulLine.js 使用說明.doc_第1頁(yè)
MulLine.js 使用說明.doc_第2頁(yè)
MulLine.js 使用說明.doc_第3頁(yè)
MulLine.js 使用說明.doc_第4頁(yè)
MulLine.js 使用說明.doc_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

MulLine.js 使用說明具體描述3一 約定和聲明3二 基礎(chǔ)特性:41如何初始化MulLine (含屬性說明)42 如何在JavaScript中給MulLine賦值53 如何在JavaScript中從MulLine取值54 如何在JSP中得到MulLine中的值(必須提交頁(yè)面)55 如何在JSP中給MulLine賦值66 如何添加一行67 如何刪除一行68 如何刪除所有行79 如何刪除所有空行710 如何隱藏或顯示”+”和”-“標(biāo)記711 如何鎖定或解鎖”+”和”-“標(biāo)記712 如何隱藏一列 (不鼓勵(lì)使用該方法:顯示效果不好)713 如何得到行數(shù)和列數(shù)814 如何設(shè)置某一列的初始化值815 如何設(shè)置在頁(yè)面上的顯示寬度816 如何設(shè)置使指定行的某一列得到焦點(diǎn)917 如何判斷指定行的某一列是否得到焦點(diǎn)9三 中級(jí)特性:91 如何使用CheckBox 選項(xiàng)框911 如何初始化CheckBox 選項(xiàng)框912 如何判斷該行CheckBox 選項(xiàng)框被選中913 如何選中或不選中所有行的CheckBox選項(xiàng)框1014 如何刪除選中CheckBox 選項(xiàng)框的所有行1015 如何選中指定行的CheckBox 選項(xiàng)框102 如何使用 Radio 單選框1011 如何初始化Radio 單選框1022 如何判斷該行的Radio 單選框被選中11四 高級(jí)特性:111 如何在MulLine中添加代碼選擇功能(即雙擊彈出選擇下拉框)112如何在MulLine中添加代碼選擇功能(即雙擊彈出選擇下拉框,從前端自己傳入數(shù)據(jù))133 如何在MulLine中添加字段數(shù)據(jù)校驗(yàn)功能154 如何在MulLine中添加雙擊相應(yīng)事件,響應(yīng)自己編寫的JS函數(shù)155 如何在MulLine中單擊CheckBox時(shí)響應(yīng)開發(fā)人員外部編寫的JS函數(shù)166 如何在MulLine中單擊RadioBox時(shí)響應(yīng)開發(fā)人員外部編寫的JS函數(shù)187 如何在MulLine中單擊“+”按鈕和 “”號(hào)按鈕時(shí)響應(yīng)開發(fā)人員外部編寫的JS函數(shù)198 如何在分頁(yè)顯示數(shù)據(jù)時(shí),使后續(xù)頁(yè)的MulLine中的顯示序號(hào)與紀(jì)錄數(shù)一致209 如何在使用代碼選擇功能時(shí),設(shè)置彈出的選擇下拉框的寬度2110 如何在使用代碼選擇功能時(shí),強(qiáng)制刷新數(shù)據(jù)源2111 如何在查詢時(shí)使設(shè)置的代碼選擇列將編碼顯示為對(duì)應(yīng)的漢字21五 錯(cuò)誤描述和診斷211 如果IE彈出對(duì)話框:沒有該對(duì)象或未知的對(duì)象或者對(duì)象沒有該方法212 如果彈出對(duì)話框:MulLine.js中某某方法出現(xiàn)異常213如果彈出對(duì)話框:MulLinejs中某某方法中指定了錯(cuò)誤的列(或者行)224如果出現(xiàn)其它錯(cuò)誤信息22 具體描述一 約定和聲明 (1) 你使用得IE版本必須是5.5以上(包括5.5)(2) 在后續(xù)的所有說明中,均假定MulLine的對(duì)象名為:ObjGrid ;該MulLine對(duì)象所在的表單名為:fm(3) 后續(xù)用到的行和列都是從0行0列開始。和數(shù)組是一致的(注:除非有特殊聲明)(4) 所有調(diào)用方法和屬性的名字遵循命名規(guī)則:首字母小寫,后續(xù)單詞首字母大寫。方法如:clearData,setRowColData,lock,unLock屬性如:mulLineCount,canAdd , locked (5) 具體實(shí)例:請(qǐng)看Z:resource模版程序testMulLine下的示范待碼)運(yùn)行:http:/hostName:8900/ui/testMulLine/mulineTest.html (hostName是主機(jī)名)(6) 高級(jí)特性中,均借助于外部函數(shù),必須包含相應(yīng)的外部文件二 基礎(chǔ)特性:1如何初始化MulLine (含屬性說明)(1) 在顯示MulLine的頁(yè)面上(例如xxxInput.jsp文件)必須有如下代碼: 其位置放在表單fm中id名稱必須是:span+MulLine的對(duì)象名(這里是ObjGrid)(2) 在JS文件中(如xxxInit.js文件)的JavaScript函數(shù)中如下設(shè)置假定產(chǎn)生3行兩列的MulLine對(duì)象 function initObjGrid() /函數(shù)名為init+MulLine的對(duì)象名ObjGrid var iArray = new Array(); /數(shù)組放置各個(gè)列 try iArray0=new Array(); iArray00=序號(hào); /列名(序號(hào)列,第1列) iArray01=30px; /列寬 iArray02=10; /列最大值 iArray03=0; /1表示允許該列輸入,0表示只讀且不響應(yīng)Tab鍵 / 2 表示為容許輸入且顏色加深. iArray1=new Array(); iArray10=示范列1; /列名(第2列) iArray11=30px; /列寬 iArray12=10; /列最大值 iArray13=0; /是否允許輸入,1表示允許,0表示不允許 /后續(xù)可以添加N列,如上設(shè)置 /生成對(duì)象區(qū),規(guī)則:對(duì)象名=new MulLineEnter(“表單名”,”對(duì)象名”); ObjGrid= new MulLineEnter( fm , ObjGrid ); /設(shè)置屬性區(qū) (需要其它特性,在此設(shè)置其它屬性) ObjGrid.mulLineCount = 3 ; /行屬性:設(shè)置行數(shù)=3 ObjGrid.displayTitle = 1; /標(biāo)題屬性:1顯示標(biāo)題 (缺省值) ,0隱藏標(biāo)題 /對(duì)象初始化區(qū):調(diào)用對(duì)象初始化方法,屬性必須在此前設(shè)置ObjGrid.loadMulLine(iArray); catch(ex) alert(ex); 上面是MulLine的初始化的基本用法,如果用到其他功能,請(qǐng)參閱該功能的詳細(xì)說明,會(huì)有一些相關(guān)的初始化的附加設(shè)置。2 如何在JavaScript中給MulLine賦值 使用MulLine對(duì)象的setRowColData(row,col,value)方法 參數(shù)為:行,列,值 ;返回值為真假 如;ObjGrid. setRowColData(0,1,”賦給第0行第1列的值”); 注意:是從0行0列開始。因此,我們認(rèn)為0行是第0行,0列是第0列 注意:第3個(gè)參數(shù),value如果不是變量,請(qǐng)用引號(hào)擴(kuò)住 注意:如果程序彈出對(duì)話框:提示setRowColData時(shí)指定了錯(cuò)誤的行(或列),那么意味著你在賦值時(shí)指定的行或列超出了范圍(即小于0或者大于行數(shù)或列數(shù)) 注意:請(qǐng)不要給0列賦值,因?yàn)槭切蛱?hào)列,會(huì)自行變化 3 如何在JavaScript中從MulLine取值(1) 取出指定的第幾行第幾列的值使用MulLine對(duì)象的getRowColData(row,col)方法 參數(shù)為:行,列; 返回值:指定行和列的值如:var value=ObjGrid. getRowColData(0,1);注意:是從0行0列開始。因此,我們認(rèn)為0行是第0行,0列是第0列注意:如果程序彈出對(duì)話框:提示getRowColData時(shí)指定了錯(cuò)誤的行(或列),那么意味著你在取值時(shí)指定的行或列超出了范圍(即小于0或者大于行數(shù)或列數(shù))注意:可以得到0列(序號(hào)列)的值(2)取出指定的某一行的值使用MulLine對(duì)象的getRowData(row) 法方 參數(shù)為:行號(hào) ; 返回值:指定行的所有值,返回形式為一維數(shù)組如:var iArray=ObjGrid. getRowColData(0);注意:是從0行開始。因此,我們認(rèn)為0行是第0行。注意:如果程序彈出對(duì)話框:提示getRowData時(shí)指定了錯(cuò)誤的行,那么意味著你在取值時(shí)指定的行超出了范圍(即小于0或者大于行數(shù))注意:數(shù)組iArray值不包括序號(hào)列的值。即iArray0為該行第1列的值,依次類推。4 如何在JSP中得到MulLine中的值(必須提交頁(yè)面) 提交有MulLine的頁(yè)面后,在接受頁(yè)如下處理: % String tGridNo = request.getParameterValues(ObjGridNo); /得到序號(hào)列的所有值 String tGrid1 = request.getParameterValues(ObjGrid1); /得到第1列的所有值 String tGrid2 = request.getParameterValues(ObjGrid2); /得到第2列的所有值 Int Count = tGridNo.length; /得到接受到的記錄數(shù) For(int index=0;index 如果需要處理被選中的紀(jì)錄(即CheckBox 和Radio 框)請(qǐng)參看中級(jí)特性說明5 如何在JSP中給MulLine賦值 即在JSP頁(yè)面中內(nèi)嵌JavaScript代碼,如: parent.fraInterface.ObjGrid.addOne(ObjGrid); /添加一行,見該方法說明 parent.fraInterface.ObjGrid.setRowColData(行,列,值); 注意:不要使用parent.fraInterface.fm .ObjGrid 方式,否則會(huì)報(bào)錯(cuò):沒有該對(duì)象 注意:在將JSP變量傳給setRowColData方法的參數(shù)3時(shí),請(qǐng)用引號(hào)擴(kuò)住。 如:“ ,對(duì)于行,列參數(shù)不用加引號(hào)擴(kuò)住(數(shù)值型) 6 如何添加一行 1 程序中請(qǐng)使用方法addOne(”MulLine對(duì)象名”)或者 addOne() 如:(1 ) ObjGrid.addOne(“ObjGrid”);/注意:有引號(hào) (2 ) 或者 ObjGrid.addOne(); 2 在頁(yè)面上如果”+”號(hào)標(biāo)記存在,單擊即可(該”+”號(hào)可以隱藏)7 如何刪除一行 1 在頁(yè)面上如果”-”號(hào)標(biāo)記存在,單擊即可(該”-”號(hào)可以隱藏) 2 直接刪除任意一行的方法是不對(duì)外的,但是你可以查閱: 如何刪除所有行如何刪除所有空行 如何刪除選中CheckBox 選項(xiàng)框的所有行 請(qǐng)參閱下面相關(guān)詳細(xì)說明 8 如何刪除所有行 使用方法clearData(“MulLine的對(duì)象名”) 或者 clearData (); 如:(1)ObjGrid. clearData(“ObjGrid”); (2 ) 或者 ObjGrid. clearData (); 9 如何刪除所有空行將MulLine中所有空行(空行:該行每一列都沒有數(shù)據(jù))刪除使用方法delBlankLine (“MulLine的對(duì)象名”) 或者delBlankLine() 如:(1) ObjGrid. delBlankLine (“ObjGrid”); (2) ObjGrid. delBlankLine (); 10 如何隱藏或顯示”+”和”-“標(biāo)記 初始化MulLine時(shí),在屬性設(shè)置區(qū)增加如下: ObjGrid. hiddenPlus=0; /是否隱藏+號(hào)標(biāo)志:1為隱藏;0為不隱藏(缺省值) ObjGrid. hiddenSubtraction=0; /是否隱藏-號(hào)標(biāo)志:1為隱藏;0為不隱藏(缺省值) 刷新后將看不到”+”和”-“標(biāo)記11 如何鎖定或解鎖”+”和”-“標(biāo)記 MulLine上的”+”和”-“標(biāo)記可以禁用或恢復(fù)(即鎖定或解鎖) 鎖定:使用lock () 方法 如ObjGrid. lock (); 解鎖:使用unLock () 方法 如ObjGrid. unLock ();12 如何隱藏一列 (不鼓勵(lì)使用該方法:顯示效果不好) 初始化MulLine設(shè)置列數(shù)組時(shí),如下設(shè)置:(有2種方法) iArray1=new Array(); iArray10=示范列; iArray11=0px; / 你可以將列寬設(shè)為0,該列就隱藏了 iArray12=100; iArray13=3; /你還可以設(shè)置選項(xiàng):0和1表示是否容許輸入2表示代碼選擇,3表示這一列是隱藏的,你可以放一些自己想放的數(shù)據(jù)在這列里 上面兩種方法都可以13 如何得到行數(shù)和列數(shù)得到行數(shù)和列數(shù),使用MulLine的屬性mulLineCount 和 colCount 如:var rowNum=ObjGrid. mulLineCount ; /行數(shù) var colNum=ObjGrid. colCount ; /列數(shù)注意:請(qǐng)不要通過這種方式更改行數(shù)和列數(shù)。14 如何設(shè)置某一列的初始化值如果想通過初始化的方式給某一列設(shè)置缺省值,那么在初始化MulLine的代碼中加入如下:iArray114=”初始化值”;注意:序號(hào)必須是14,該項(xiàng)設(shè)置是獨(dú)立的,和其他設(shè)置是不影響的。 15 如何設(shè)置在頁(yè)面上的顯示寬度 MulLine的顯示寬度和頁(yè)面的寬度是有關(guān)系的,這里所指的頁(yè)面寬度是說 頁(yè)面下沒有左右可移動(dòng)的滾動(dòng)條時(shí)的頁(yè)面中放置MulLine的框架的寬度(1) 在一行中放置一個(gè)MulLine 如果在初始化時(shí)它的各個(gè)列寬的和小于頁(yè)面寬度,那么該MulLine的各個(gè)列寬的實(shí)際大小將按照下面公式得到:實(shí)際列的寬度=初始設(shè)置列的寬度*頁(yè)面寬度/初始設(shè)置列的寬度之和這樣就會(huì)填充滿整個(gè)頁(yè)面的寬度。 如果在初始化時(shí)它的各個(gè)列寬的和大于頁(yè)面寬度,那么將會(huì)按照初始化設(shè)置的寬度顯示。當(dāng)然,頁(yè)面下方會(huì)出現(xiàn)左右可以移動(dòng)的滾動(dòng)條。(2) 在一行中放置兩個(gè)MulLine 請(qǐng)?jiān)诿總€(gè)MulLine初始化時(shí)設(shè)置屬性:ObjGrid.mulLineNum=2, 即表明同一行有2個(gè)MulLine,這樣當(dāng)2個(gè)MulLine的實(shí)際寬度小于頁(yè)面的寬度時(shí),就可以在頁(yè)面中正常顯示(不出現(xiàn)滾動(dòng)條),而不會(huì)出現(xiàn)第一個(gè)MulLine的寬度填充整個(gè)頁(yè)面的寬度,第二個(gè)MulLine需要移動(dòng)滾動(dòng)條才能看到的情況。 當(dāng)然,如果兩個(gè)MulLine的寬度和大于頁(yè)面的寬度,那么是會(huì)出現(xiàn)滾動(dòng)條,并且借助于滾動(dòng)條才能看到兩個(gè)MulLine。(3) 在一行中放置多個(gè)MulLine 道理和(2)是一樣的。16 如何設(shè)置使指定行的某一列得到焦點(diǎn) 使用MulLine的方法setFocus (Row,Col, cObjInstance) 參數(shù)說明 :Row 行號(hào),注意從 0行開始,不能為空 。 Col 列號(hào),注意從0列開始,但是序號(hào)列為0列。可以為空。如果為空,自動(dòng)設(shè)置為1 。 cObjInstance MulLine對(duì)象名,一般設(shè)為空。 17 如何判斷指定行的某一列是否得到焦點(diǎn) 待做三 中級(jí)特性:1 如何使用CheckBox 選項(xiàng)框11 如何初始化CheckBox 選項(xiàng)框 初始化MulLine時(shí),在屬性設(shè)置區(qū)添加屬性設(shè)置 ObjGrid.canChk =1; / 1為顯示CheckBox列,0為不顯示 (缺省值) 12 如何判斷該行CheckBox 選項(xiàng)框被選中 (1) 在JavaScript里使用方法getChkNo(row) 參數(shù)row為行數(shù)(從0行開始)返回true (選中) 或者 false(未選中) 循環(huán)處理,即可判斷所有行的選中狀態(tài)。注意:如果指定了錯(cuò)誤的行(=總行數(shù)) 彈出錯(cuò)誤信息:在MulLine.js中指定錯(cuò)誤的行 (2)在JSP中如下處理: String tChk = request.getParameterValues(InpObjGridChk); /參數(shù)格式=” Inp+MulLine對(duì)象名+Chk” For(int index=0;indextChk.length;index+) if(tChkindex.equals(1) System.out.println(“該行被選中”); if(tChkindex.equals(0) System.out.println(“該行未被選中”); 13 如何選中或不選中所有行的CheckBox選項(xiàng)框 初始化CheckBox后,在MulLine的行標(biāo)題左首處也會(huì)有一個(gè)CheckBox. 選中它,則所有行的CheckBox被選中,否則,都不選中 程序中可以使用3個(gè)方法:ObjGrid.checkBoxAll ()-選中所有行 ObjGrid. checkBoxAllNot () -撤銷所有行選中狀態(tài)ObjGrid. checkAll ()-如果不處于選中狀態(tài),那么選中所有行;否則撤銷所有行 14 如何刪除選中CheckBox 選項(xiàng)框的所有行 使用方法delCheckTrueLine(”MulLine的對(duì)象名”)或者 delCheckTrueLine() 如:(1) ObjGrid.delCheckTrueLine(ObjGrid); (2) 或者ObjGrid.delCheckTrueLine (); 所有該Grid處于選中狀態(tài)的行都被刪除15 如何選中指定行的CheckBox 選項(xiàng)框 使用方法 checkBoxSel(行號(hào)) :注意參數(shù)行號(hào)從1開始。 如:(1) ObjGrid. checkBoxSel (1);使第一行的checkBox()被選中 2 如何使用 Radio 單選框11 如何初始化Radio 單選框 在初始化MulLine的屬性設(shè)置區(qū)如下設(shè)置: ObjGrid.canSel =1; / 1 顯示 ;0 隱藏(缺省值)22 如何判斷該行的Radio 單選框被選中 (1) 在JavaScript中如下使用: 使用方法:getSelNo () 如:ObjGrid.getSelNo () 內(nèi)部循環(huán)判斷所有行 返回被選中的行的行號(hào)。 注意:行號(hào)是從1開始,和數(shù)組是不一樣的。 如果沒有選中行,返回值是0。所以和setRowColData()或getRowColData()使用時(shí)要小心 (2 ) 在JSP中如下處理: String tRadio = request.getParameterValues(InpObjGridSel); /參數(shù)格式=” Inp+MulLine對(duì)象名+Sel” For (int index=0; index tRadio.length;index+) if(tRadioindex.equals(“1”) System.out.println(“該行被選中”); if(tRadioindex.equals(“0”) System.out.println(“該行未被選中”); 四 高級(jí)特性:1 如何在MulLine中添加代碼選擇功能(即雙擊彈出選擇下拉框) 該功能必須與文件一起使用(1)如果僅僅是MulLine的某一列需要代碼選擇功能,那么首先在使用MulLine的文件中(如:xxxInput.jsp) 必須有如下一行: 然后在初始化時(shí)設(shè)置該列時(shí)如下:(參見MulLine的初始化) iArray10=性別; /列名 iArray11=100px; /列寬 iArray12=100; /列最大值 iArray13=2; /是否允許輸入,1表示允許,0表示不允許,2表示代碼選擇 iArray14=Sex; /是否引用代碼: null或者 為不引用說明: iArray13=2; 則該列的每一個(gè)輸入框的樣式都是代碼選擇的風(fēng)格 iArray14=Sex; 設(shè)置要引用的代碼 (2)如果想在某一列實(shí)現(xiàn)代碼選擇的同時(shí),該代碼的其它信息顯示在其他指定列上 那么在MulLine初始化時(shí),如下設(shè)置列數(shù)組 iArray10=區(qū)站代碼; iArray11=100px; iArray12=100; iArray13=2; /2表示代碼選擇 iArray14=Station; /引用代碼: iArray15=1|2; /引用代碼對(duì)應(yīng)第幾列,|為分割符 iArray16=0|1; /上面的列中放置引用代碼中第幾位值 iArray2=new Array(); iArray20=區(qū)站名稱; iArray21=100px; iArray22=100; iArray23=1; /是否允許輸入,1表示允許,0表示不允許說明: (a)iArray14=Station; 即該列要引用區(qū)站代碼 (b)iArray15=1|2; 引用代碼信息分別放在第1列和第2列,|為分割符iArray16=0|1; 引用代碼數(shù)組的第0項(xiàng)(區(qū)站代碼)放在第1列 引用代碼數(shù)組的第1項(xiàng)(區(qū)站名稱)放在第2列對(duì)多列顯示代碼選擇:這兩項(xiàng)必須同時(shí)存在,缺少任何一項(xiàng)。都認(rèn)為無效這兩項(xiàng)中的數(shù)字是上下對(duì)應(yīng)關(guān)系,即Muline第1列Code第0項(xiàng) Muline第2列Code第1項(xiàng) (c)推薦:上下兩項(xiàng)中的數(shù)字?jǐn)?shù)目保持一致,如:1|2 對(duì)應(yīng)0|1 ;2|3|4 對(duì)應(yīng)1|3|4 左右數(shù)目相等但是:如果象:iArray15=1|2; iArray16=0; 或者iArray15=1; iArray16=0|1; 這是不會(huì)出錯(cuò)的,將按照最少原則處理,即還是對(duì)應(yīng)關(guān)系,但是多出來的項(xiàng)將會(huì)被忽略,或者表格中填充undefine 所以建議你還是按照規(guī)范書寫(d) 排在首位的列號(hào)就是代碼選擇框在頁(yè)面上要顯示的列處,如:如果 iArray15=1|2; 首位是1 ,則雙擊當(dāng)前列(即第1列),那么代碼選擇框就會(huì)在第1列位置處顯示。如果 iArray15=2|1; 首位是2 ,則雙擊當(dāng)前列(即第1列),那么代碼選擇框就會(huì)在第2列位置處顯示。推薦將首位設(shè)置為你要選擇代碼的列號(hào)。當(dāng)然,設(shè)置成其他列號(hào)是不會(huì)有影響的,這可以由你靈活掌握 涉及代碼選擇問題請(qǐng)問楊濤 (e) 擴(kuò)展功能:如果在顯示時(shí)要加上限制條件,譬如,當(dāng)前列的雙擊彈出代碼框的內(nèi)容 依賴于其它控件或者其他列的值,那么在初始化MulLine時(shí),對(duì)要添加限制條件的列增加如下代碼:(以MulLine的第1列為例)如果是根據(jù)單獨(dú)的控件的值判斷,那么iArray115=控件名稱; /譬如Form中除了MulLine外的其它控件名稱 iArray116=該控件的值; /可以用fm.all(xxx).value或者固定值或變量傳入 如果是多個(gè)組合條件,可以先拼成字符串,具體格式請(qǐng)參見showcodelist函數(shù)第5個(gè)參數(shù)的用法。iArray115=控件1的名稱; /譬如Form中除了MulLine外的其它控件名稱 iArray116= StrSql; StrSql = #1# and 2=#2#; /因?yàn)镴S往后臺(tái)傳輸?shù)脑颍瑔我?hào)“”必須用“#”替代,譬如:iArray115=Name; iArray116= StrSql; StrSql = #姓名# and Sex=#性別#;最后傳到后臺(tái)的語句轉(zhuǎn)換為: ” Name=姓名 and Sex=性別 “; 如果根據(jù)MulLine的某一列的值判斷,那么iArray115= 列名稱; /要依賴的列的名稱 iArray117= 列號(hào); /該列的列號(hào), 如上即可實(shí)現(xiàn). 如果根據(jù)MulLine的某幾列的值判斷,那么(必須用|分割,且上下數(shù)目一致)iArray115= 列名稱1|列名稱2|.; /要依賴的列的名稱 iArray117= 列號(hào)1|列號(hào)2|.; /列名稱的列號(hào), 如上即可實(shí)現(xiàn).2如何在MulLine中添加代碼選擇功能(即雙擊彈出選擇下拉框,從前端自己傳入數(shù)據(jù))該功能必須與文件一起使用并且在使用MulLine的文件中(如:xxxInput.jsp) 必須有如下一行: (1)如果僅僅是MulLine的某一列需要代碼選擇功能,那么初始化時(shí)設(shè)置該列時(shí)如下:(參見MulLine的初始化) iArray10=性別; /列名 iArray11=100px; /列寬 iArray12=100; /列最大值 iArray13=2; /2表示代碼選擇 (即樣式為代碼選擇) iArray110=CodeName; /引用代碼:CodeName為傳入數(shù)據(jù)的名稱 iArray111=CodeContent; /CodeContent 是傳入要下拉顯示的代碼 說明: iArray13=2; 則該列的每一個(gè)輸入框的樣式都是代碼選擇的風(fēng)格 iArray110= CodeName ; 設(shè)置要引用的代碼名稱,在頁(yè)面上最好唯一 iArray111= CodeContent ; 設(shè)置要引用的代碼(有格式要求) 例如: iArray110= CodeTest ; 名字最好有唯一性 iArray111= 0|1|2|3 ; 以 分割每個(gè)記錄,以 | 分割每個(gè)紀(jì)錄中的字段如 0|1|第一個(gè)|2|第2個(gè)|3|第3個(gè) ; 或者 0|1|第一個(gè)|記錄|2|第2個(gè)|記錄|3|第3個(gè)|記錄 ; (2)如果想在某一列實(shí)現(xiàn)代碼選擇的同時(shí),該代碼的其它信息顯示在其他指定列上 那么在MulLine初始化時(shí),如下設(shè)置列數(shù)組 iArray10=測(cè)試代碼; iArray11=100px; iArray12=100; iArray13=2; /2表示代碼選擇 iArray110=CodeName; /引用代碼:CodeName為傳入數(shù)據(jù)的名稱 iArray111=CodeContent; /CodeContent 是傳入要下拉顯示的代碼 iArray112=1|2; /引用代碼對(duì)應(yīng)第幾列,|為分割符 iArray113=0|1; /上面的列中放置引用代碼中第幾位值說明: (a)iArray112的格式為 ”列號(hào)1|列號(hào)2|” ,如:iArray112=1|2; 引用代碼信息分別放在第1列和第2列,|為分割符 必須注意的是:”列號(hào)1” 必須是當(dāng)前列的列號(hào)。后面的 “列號(hào)2|”等無限制iArray113的格式為 ”字段1|字段2|” ,如:iArray113=0|1; 引用代碼數(shù)組的第0項(xiàng)(即紀(jì)錄的第一個(gè)字段)放在第1列 引用代碼數(shù)組的第1項(xiàng)(即紀(jì)錄的第二個(gè)字段)放在第2列對(duì)多列顯示代碼選擇:這兩項(xiàng)必須同時(shí)存在,缺少任何一項(xiàng)。都認(rèn)為無效這兩項(xiàng)中的數(shù)字是上下對(duì)應(yīng)關(guān)系,即Muline第1列顯示CodeData的第0項(xiàng) 字段Muline 第2列顯示CodeData的第1項(xiàng)字段 (b)推薦:上下兩項(xiàng)中的數(shù)字?jǐn)?shù)目保持一致,如:1|2 對(duì)應(yīng)0|1 ;2|3|4 對(duì)應(yīng)1|3|4 左右數(shù)目相等但是:如果象:iArray112=1|2; iArray113=0; 或者iArray112=1; iArray113=0|1; 這是不會(huì)出錯(cuò)的,將按照最少原則處理,即還是對(duì)應(yīng)關(guān)系,但是多出來的項(xiàng)將會(huì)被忽略,或者表格中填充undefine 所以建議你還是按照規(guī)范書寫(c) 排在首位的列號(hào)就是代碼選擇框在頁(yè)面上要顯示的列處(注意:并且是當(dāng)前列),如:如果 iArray112=1|2; 首位是1 ,則雙擊當(dāng)前列(即第1列)那么代碼選擇框就會(huì)在第1列位置處顯示。如果 iArray112=2|1; 首位是2 ,則雙擊當(dāng)前列(即第1列),那么代碼選擇框會(huì)顯示錯(cuò)誤!這點(diǎn)和從后臺(tái)取數(shù)據(jù)不同,因?yàn)镾howCodeListEx代碼假定前臺(tái)的數(shù)據(jù)存放在傳入?yún)?shù)中排在首位的列處,因此會(huì)從參數(shù)中首位的列號(hào)處查找數(shù)據(jù)源。詳情參閱ShowCodeListEx函數(shù)(其中Field0接受首位列對(duì)象) (d)需要注意的是:數(shù)組排序 iArray14到iArray1 8 都不能再使用了,格式校驗(yàn)可以使用。 涉及代碼選擇問題請(qǐng)問楊濤 3 如何在MulLine中添加字段數(shù)據(jù)校驗(yàn)功能 必須包含外部文件 在初始化MulLine時(shí)如下設(shè)置列數(shù)組: iArray10=區(qū)站代碼; iArray11=100px; iArray12=100; iArray13=2; /2表示代碼選擇 iArray14=Station; /引用代碼: iArray19=區(qū)站代碼|code:station; /檢驗(yàn)格式:按區(qū)站代碼格式檢驗(yàn) 或者iArray19=” 區(qū)站代碼|NOTNULL”或者iArray19=” 區(qū)站代碼|LEN8|NOTNULL”/即將數(shù)組的序號(hào)置為 列數(shù)9=”該列名稱 | 校驗(yàn)類型參數(shù)1 | 校驗(yàn)類型參數(shù)2 | 校驗(yàn)類型參數(shù)3”如果檢驗(yàn)到錯(cuò)誤,會(huì)提示:第幾行+第幾列+錯(cuò)誤原因具體檢驗(yàn)格式請(qǐng)參看 VerifyInput 通用錄入校驗(yàn)說明文檔(著者:胡博) 因?yàn)檎{(diào)用VerifyInput的內(nèi)部函數(shù),所以檢驗(yàn)格式是一致的。 注意:檢驗(yàn)MulLine中的數(shù)據(jù)格式請(qǐng)使用MulLine的內(nèi)部方法checkValue(); 使用方法:ObjGrid. CheckValue(“ObjGrid”); (ObjGrid是MulLine對(duì)象名) 或者ObjGrid. CheckValue( ); (即無參數(shù)) 4 如何在MulLine中添加雙擊相應(yīng)事件,響應(yīng)自己編寫的JS函數(shù) 你可以自己編寫JS函數(shù),并在MulLine初始化時(shí)設(shè)置某一列數(shù)組,那么在MulLine的該列的輸入格上雙擊后可以響應(yīng)你編寫的JS函數(shù)。具體設(shè)置如下: (1)在初始化時(shí) iArray1=new Array(); iArray10=性別; iArray11=100px; iArray12=100; iArray13=1; /是否允許輸入,1表示允許,0表示不允許iArray17=“functionName” /你寫的JS函數(shù)名,不加擴(kuò)號(hào)iArray18=”str1,number,” /要傳入的參數(shù)可以省略該項(xiàng) 說明:iArray17=“functionName” 該函數(shù)名由你自己定義,不加擴(kuò)號(hào)iArray18=”str1,number,” 傳遞給函數(shù)的的第2個(gè)參數(shù)規(guī)定它為數(shù)組格式(用逗號(hào)隔開),數(shù)組可以同時(shí)包括字符串(請(qǐng)加單引號(hào)),數(shù)字(不加單引號(hào))等,如果沒有要傳入得參數(shù),該項(xiàng)可以省略。注意:某一列的設(shè)值iArray14,iArray15,Array16 和iArray17, iArray18是不能共同存在的。如果同時(shí)存在,那么iArray17, iArray18是無效的,對(duì)該列而言(2)在xxx.js中編寫你聲明的函,數(shù)框架如下:function functionName (parm1,parm2) /參數(shù)名可以是任意的,不限于parm1和parm2 /1 內(nèi)容由你填充,下面只是給出了一些范例/2 parm1是給定的,表示當(dāng)前表單中mulLine當(dāng)前行的spanID/如果要彈出當(dāng)前行第1列的值,那么直接如下使用: alert(fm.all( parm1 ).all(ObjGrid1).value );/利用第二個(gè)值 if(parm2!=null& parm2!=”) /如果第2個(gè)參數(shù)parm2有效,parm2可以為空 var arr= parm2 ; / parm2 是一個(gè)數(shù)組,可以存放多個(gè)要傳入的值 var arrlength= arr.length; /得到數(shù)組長(zhǎng)度 注意:該函數(shù)是綁定到MulLine上的,所以參數(shù)1是初始化MulLine時(shí)傳入的,通過它可以確定當(dāng)前行的位置,你只要使用即可;參數(shù)2可以傳入輸組,可以為空,如果需要參數(shù)2,必須在MulLine中初始化時(shí)設(shè)置。5 如何在MulLine中單擊CheckBox時(shí)響應(yīng)開發(fā)人員外部編寫的JS函數(shù) 你可以自己編寫JS函數(shù),并在MulLine初始化時(shí)簡(jiǎn)單的設(shè)置,就可以實(shí)現(xiàn)在MulLine 的CheckBox上單擊時(shí)響應(yīng)你編寫的JS函數(shù)。(注意:此時(shí)標(biāo)題欄處會(huì)有一個(gè)checkBox,它的作用是選中或不選中顯示行中的全部checkBox的,對(duì)它單獨(dú)有一個(gè)js函數(shù),對(duì)應(yīng)下面的 b 說明)具體設(shè)置如下:(統(tǒng)一約定:ObjGrid 為你定義的MulLine的對(duì)象) (1)在初始化時(shí)ObjGrid. canChk = 1; /選中checkBox 功能,這是前提條件(a) 針對(duì)每行記錄前的checkBox而言,如下ObjGrid. chkBoxEventFuncName =“functionName”/你寫的JS函數(shù)名,不加擴(kuò)號(hào)ObjGrid. chkBoxEventFuncParm =”str1,number,” /傳入的參數(shù),可以省略該項(xiàng) 說明:”str1,number,” 是傳遞給函數(shù)名為“functionName”的的第2個(gè)參數(shù)規(guī)定它為數(shù)組格式(用逗號(hào)隔開),數(shù)組可以同時(shí)包括字符串(請(qǐng)加單引號(hào)),數(shù)字(不加單引號(hào))等,如果沒有要傳入得參數(shù),該項(xiàng)可以省略。(b)針對(duì)標(biāo)題欄具有全選功能的checkBox而言,如下:ObjGrid.chkBoxAllEventFuncName=“functionName2”/JS函數(shù)名,不加擴(kuò)號(hào)(2)在xxx.js中編寫你聲明的函數(shù),框架如下:(a) function functionName (parm1,parm2) /參數(shù)名可任意取的,不限于parm1和parm2 /1 內(nèi)容由你填充,下面只是給出了一些范例/2 parm1是給定的,表示當(dāng)前表單中mulLine當(dāng)前行的spanID/判斷當(dāng)前行的checkBox是否被選中,并執(zhí)行相應(yīng)的活動(dòng)if(fm.all(parm1).all( InpObjGridChk).value= =1 ) /當(dāng)前行第1列的值設(shè)為:選中 fm.all(parm1).all( ObjGrid1).value=選中; else fm.all(parm1).all(ObjGrid1).value=沒選中; /利用第二個(gè)參數(shù)parm2 即上面的”str1,number,” if(parm2!=null& parm2!=”) /如果第2個(gè)參數(shù)parm2有效,parm2可以為空 var arr= parm2 ; / parm2 是一個(gè)數(shù)組,可以存放多個(gè)要傳入的值 var arrlength= arr.lengt

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論