完整版MulLine使用手册Word格式.docx
《完整版MulLine使用手册Word格式.docx》由会员分享,可在线阅读,更多相关《完整版MulLine使用手册Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
variArray=newArray();
//数组放置各个列
try
iArray[0]=newArray();
iArray[0][0]="
序号"
;
//列名(序号列,第1列)
iArray[0][1]="
30px"
//列宽
iArray[0][2]=10;
//列最大值
iArray[0][3]=0;
//1表示允许该列输入,0表示只读且不响应Tab键
//2表示为容许输入且颜色加深.
iArray[1]=newArray();
iArray[1][0]="
示范列1"
//列名(第2列)
iArray[1][1]="
iArray[1][2]=10;
iArray[1][3]=0;
//是否允许输入,1表示允许,0表示不允许
//后续可以添加N列,如上设置
//生成对象区,规则:
对象名=newMulLineEnter(“表单名”,”对象名”);
ObjGrid=newMulLineEnter("
fm"
"
ObjGrid"
);
//设置属性区(需要其它特性,在此设置其它属性)
ObjGrid.mulLineCount=3;
//行属性:
设置行数=3
ObjGrid.displayTitle=1;
//标题属性:
1显示标题(缺省值),0隐藏标题
//对象初始化区:
调用对象初始化方法,属性必须在此前设置
ObjGrid.loadMulLine(iArray);
}
catch(ex)
{alert(ex);
/script>
上面是MulLine的初始化的基本用法,如果用到其他功能,请参阅该功能的详细说明,会有一些相关的初始化的附加设置。
2如何在JavaScript中给MulLine赋值
使用MulLine对象的setRowColData(row,col,value)方法
参数为:
行,列,值;
返回值为真假
如;
ObjGrid.setRowColData(0,1,”赋给第0行第1列的值”);
注意:
是从0行0列开始。
因此,我们认为0行是第0行,0列是第0列
第3个参数,value如果不是变量,请用引号扩住
如果程序弹出对话框:
提示setRowColData时指定了错误的行(或列),那么意味着你在赋值时指定的行或列超出了范围(即小于0或者大于行数或列数)
请不要给0列赋值,因为是序号列,会自行变化
3如何在JavaScript中从MulLine取值
(1)取出指定的第几行第几列的值
使用MulLine对象的getRowColData(row,col)方法
行,列;
返回值:
指定行和列的值
如:
varvalue=ObjGrid.getRowColData(0,1);
注意:
提示getRowColData时指定了错误的行(或列),那么意味着你在取值时指定的行或列超出了范围(即小于0或者大于行数或列数)
可以得到0列(序号列)的值
(2)取出指定的某一行的值
使用MulLine对象的getRowData(row)法方
行号;
指定行的所有值,返回形式为一维数组
variArray=ObjGrid.getRowColData(0);
是从0行开始。
因此,我们认为0行是第0行。
提示getRowData时指定了错误的行,那么意味着你在取值时指定的行超出了范围(即小于0或者大于行数)
数组iArray值不包括序号列的值。
即iArray[0]为该行第1列的值,依次类推。
4如何在JSP中得到MulLine中的值(必须提交页面)
提交有MulLine的页面后,在接受页如下处理:
%
StringtGridNo[]=request.getParameterValues("
ObjGridNo"
);
//得到序号列的所有值
StringtGrid1[]=request.getParameterValues("
ObjGrid1"
//得到第1列的所有值
StringtGrid2[]=request.getParameterValues("
ObjGrid2"
//得到第2列的所有值
IntCount=tGridNo.length;
//得到接受到的记录数
For(intindex=0;
index<
Count;
index++)
System.out.println("
GridNO="
+tGridNo[index]);
System.out.println("
Grid1="
+tGrid1[index]);
Grid2="
+tGrid2[index]);
%>
如果需要处理被选中的纪录(即CheckBox和Radio框)请参看中级特性说明
5如何在JSP中给MulLine赋值
即在JSP页面中内嵌JavaScript代码,如:
javascript"
parent.fraInterface..ObjGrid.addOne("
//添加一行,见该方法说明
parent.fraInterface..ObjGrid.setRowColData(行,列,值);
不要使用parent.fraInterface..fm.ObjGrid方式,否则会报错:
没有该对象
在将JSP变量传给setRowColData方法的参数3时,请用引号扩住。
如:
“<
%=JspValue%>
“,对于行,列参数不用加引号扩住(数值型)
6如何添加一行
1程序中请使用方法addOne(”MulLine对象名”)或者addOne()
(1)ObjGrid.addOne(“ObjGrid”);
//注意:
有引号
(2)或者ObjGrid.addOne();
2在页面上如果”+”号标记存在,单击即可(该”+”号可以隐藏)
7如何删除一行
1在页面上如果”--”号标记存在,单击即可(该”--”号可以隐藏)
2直接删除任意一行的方法是不对外的,但是你可以查阅:
à
如何删除所有行
à
如何删除所有空行
如何删除选中CheckBox选项框的所有行
请参阅下面相关详细说明
8如何删除所有行
使用方法clearData(“MulLine的对象名”)或者clearData();
(1)ObjGrid.clearData(“ObjGrid”);
(2)或者ObjGrid.clearData();
9如何删除所有空行
将MulLine中所有空行(空行:
该行每一列都没有数据)删除
使用方法delBlankLine(“MulLine的对象名”)或者delBlankLine()
(1)ObjGrid.delBlankLine(“ObjGrid”);
(2)ObjGrid.delBlankLine();
10如何隐藏或显示”+”和”--“标记
初始化MulLine时,在属性设置区增加如下:
ObjGrid.hiddenPlus=0;
//是否隐藏"
+"
号标志:
1为隐藏;
0为不隐藏(缺省值)
ObjGrid.hiddenSubtraction=0;
-"
刷新后将看不到”+”和”--“标记
11如何锁定或解锁”+”和”--“标记
MulLine上的”+”和”--“标记可以禁用或恢复(即锁定或解锁)
锁定:
使用lock()方法如ObjGrid.lock();
解锁:
使用unLock()方法如ObjGrid.unLock();
12如何隐藏一列(不鼓励使用该方法:
显示效果不好)
初始化MulLine设置列数组时,如下设置:
(有2种方法)
iArray[1]=newArray();
示范列"
0px"
//à
你可以将列宽设为0,该列就隐藏了
iArray[1][2]=100;
iArray[1][3]=3;
//à
你还可以设置选项:
0和1表示是否容许输入
2表示代码选择,3表示这一列是隐藏的,
你可以放一些自己想放的数据在这列里
上面两种方法都可以
13如何得到行数和列数
得到行数和列数,使用MulLine的属性mulLineCount和colCount
varrowNum=ObjGrid.mulLineCount;
//行数
varcolNum=ObjGrid.colCount;
//列数
请不要通过这种方式更改行数和列数。
14如何设置某一列的初始化值
如果想通过初始化的方式给某一列设置缺省值,那么在初始化MulLine的
代码中加入如下:
iArray[1][14]=”初始化值”;
序号必须是14,该项设置是独立的,和其他设置是不影响的。
15如何设置在页面上的显示宽度
MulLine的显示宽度和页面的宽度是有关系的,这里所指的页面宽度是说
页面下没有左右可移动的滚动条时的页面中放置MulLine的框架的宽度
(1)在一行中放置一个MulLine
如果在初始化时它的各个列宽的和小于页面宽度,那么该MulLine的各个列宽的实际大小将按照下面公式得到:
实际列的宽度=初始设置列的宽度*页面宽度/初始设置列的宽度之和
这样就会填充满整个页面的宽度。
如果在初始化时它的各个列宽的和大于页面宽度,那么将会按照初始化设置的宽度显示。
当然,页面下方会出现左右可以移动的滚动条。
(2)在一行中放置两个MulLine
请在每个MulLine初始化时设置属性:
ObjGrid.mulLineNum=2,
即表明同一行有2个MulLine,这样当2个MulLine的实际宽度小于页面的宽度时,就可以在页面中正常显示(不出现滚动条),而不会出现第一个MulLine的宽度填充整个页面的宽度,第二个MulLine需要移动滚动条才能看到的情况。
当然,如果两个MulLine的宽度和大于页面的宽度,那么是会出现滚动条,并且借助于滚动条才能看到两个MulLine。
(3)在一行中放置多个MulLine
道理和
(2)是一样的。
16如何设置使指定行的某一列得到焦点
使用MulLine的方法setFocus(Row,Col,cObjInstance)
参数说明:
Row行号,注意从0行开始,不能为空。
Col列号,注意从0列开始,但是序号列为0列。
可以为空。
如果为空,自动设置为1。
cObjInstanceMulLine对象名,一般设为空。
17如何判断指定行的某一列是否得到焦点
待做
三中级特性:
1如何使用CheckBox选项框
1.1如何初始化CheckBox选项框
初始化MulLine时,在属性设置区添加属性设置
ObjGrid.canChk=1;
//1为显示CheckBox列,0为不显示(缺省值)
1.2如何判断该行CheckBox选项框被选中
(1)在JavaScript里使用方法getChkNo(row)
参数row为行数(从0行开始)返回true(选中)或者false(未选中)
循环处理,即可判断所有行的选中状态。
如果指定了错误的行(<
0或者>
=总行数)
弹出错误信息:
在MulLine.js中指定错误的行
(2)在JSP中如下处理:
StringtChk[]=request.getParameterValues("
InpObjGridChk"
//参数格式=”Inp+MulLine对象名+Chk”
tChk.length;
if(tChk[index].equals("
1"
))
System.out.println(“该行被选中”);
0"
System.out.println(“该行未被选中”);
}
1.3如何选中或不选中所有行的CheckBox选项框
初始化CheckBox后,在MulLine的行标题左首处也会有一个CheckBox.
选中它,则所有行的CheckBox被选中,否则,都不选中
程序中可以使用3个方法:
ObjGrid.checkBoxAll()--选中所有行
ObjGrid.checkBoxAllNot()--撤销所有行选中状态
ObjGrid.checkAll()--如果不处于选中状态,那么选中所有行;
否则撤销所有行
1.4如何删除选中CheckBox选项框的所有行
使用方法delCheckTrueLine(”MulLine的对象名”)或者delCheckTrueLine()
(1)ObjGrid.delCheckTrueLine("
(2)或者ObjGrid.delCheckTrueLine();
所有该Grid处于选中状态的行都被删除
1.5如何选中指定行的CheckBox选项框
使用方法checkBoxSel(行号):
注意—参数行号从1开始。
(1)ObjGrid.checkBoxSel
(1);
使第一行的checkBox()被选中
2如何使用Radio单选框
1.1如何初始化Radio单选框
在初始化MulLine的属性设置区如下设置:
ObjGrid.canSel=1;
//1显示;
0隐藏(缺省值)
2.2如何判断该行的Radio单选框被选中
(1)在JavaScript中如下使用:
使用方法:
getSelNo()
ObjGrid.getSelNo()内部循环判断所有行
返回被选中的行的行号。
行号是从1开始,和数组是不一样的。
如果没有选中行,返回值是0。
所以和setRowColData()或getRowColData()使用时要小心
(2)在JSP中如下处理:
StringtRadio[]=request.getParameterValues("
InpObjGridSel"
//参数格式=”Inp+MulLine对象名+Sel”
For(intindex=0;
index<
tRadio.length;
if(tRadio[index].equals(“1”))
if(tRadio[index].equals(“0”))
四高级特性:
1如何在MulLine中添加代码选择功能(即双击弹出选择下拉框)
该功能必须与文件
SCRIPTsrc="
src="
../common/javascript/CCodeOperate.js"
/SCRIPT>
一起使用
(1)如果仅仅是MulLine的某一列需要代码选择功能,那么
首先在使用MulLine的文件中(如:
xxxInput.jsp)必须有如下一行:
<
spanCode"
style="
display:
none;
position:
absolute;
slategray"
然后在初始化时设置该列时如下:
(参见MulLine的初始化)
性别"
//列名
100px"
//列宽
//列最大值
iArray[1][3]=2;
//是否允许输入,1表示允许,0表示不允许,2表示代码选择
iArray[1][4]="
Sex"
//是否引用代码:
null或者"
"
为不引用
说明:
则该列的每一个输入框的样式都是代码选择的风格
设置要引用的代码
(2)如果想在某一列实现代码选择的同时,该代码的其它信息显示在其他指定列上
那么在MulLine初始化时,如下设置列数组
区站代码"
//2表示代码选择
Station"
//引用代码:
iArray[1][5]="
1|2"
//引用代码对应第几列,'
|'
为分割符
iArray[1][6]="
0|1"
//上面的列中放置引用代码中第几位值
iArray[2]=newArray();
iArray[2][0]="
区站名称"
iArray[2][1]="
iArray[2][2]=100;
iArray[2][3]=1;
(a)iArray[1][4]="
即该列要引用区站代码
(b)iArray[1][5]="
引用代码信息分别放在第1列和第2列,'
iArray[1][6]="
引用代码数组的第0项(区站代码)放在第1列
引用代码数组的第1项(区站名称)放在第2列
对多列显示代码选择:
这两项必须同时存在,缺少任何一项。
都认为无效
这两项中的数字是上下对应关系,
即Muline第1列à
Code第0项
Muline第2列à
Code第1项
(c)推荐:
上下两项中的数字数目保持一致,
1|2对应0|1;
2|3|4对应1|3|4左右数目相等
但是:
如果象:
iArray[1][5]="
或者
这是不会出错的,将按照最少原则处理,即还是对应关系,但是多出来的项
将会被忽略,或者表格中填充undefine所以建议你还是按照规范书写
(d)排在首位的列号就是代码选择框在页面上要显示的列处,如:
如果iArray[1][5]="
首位是1,则双击当前列(即第1列),那么代码选择框就会在第1列位置处显示。
2|1"
首位是2,则双击当前列(即第1列),那么代码选择框就会在第2列位置处显示。
推荐将首位设置为你要选择代码的列号。
当然,设置成其他列号是不会有影响的,这可以由你灵活掌握
涉及代码选择问题请问杨涛
(e)扩展功能:
如果在显示时要加上限制条件,譬如,当前列的双击弹出代码框的内容
依赖于其它控件或者其他列的值,那么在初始化MulLine时,对要添加限制条件的列增加如下代码:
(以MulLine的第1列为例)
如果是根据单独的控件的值判断,那么
iArray[1][15]="
控件名称"
//譬如Form中除了MulLine外的其它控件名称
iArray[1][16]="
该控件的值"
//可以用fm.all(‘xxx’).value或者固定值或变量传入
如果是多个组合条件,可以先拼成字符串,具体格式请参见showcodelist函数第5个参数的用法。
控件1的名称"
iArray[1][16]=StrSql;
StrSql="
#1#and2=#2#"
//因为JS往后台传输的原因,单引号“'
”必须用“#”替代,譬如:
Name"
#姓名#andSex=#性别#"
最后传到后台的语句转换为:
”Name=’姓名’andSex=’性别’“;
如果根据MulLine的某一列的值判断,那么
iArray[1][15]="
列名称"
//要依赖的列的名称
iArray[1][17]="
列号"
//该列的列号,
如上即可实现.
如果根据MulLine的某几列的值判断,那么(必须用|分割,且上下数目一致)
列名称1|列名称2|….."
列号1|列号2|….."
//列名称的列号,
2如何在MulLine中添加代码选择功能(即双击弹出选择下拉框,从前端自己传入数据)
该功能必须与文件