1、动态表格使用说明书 一. 动态表格基础介绍: 在动态表格中, 基础是经过XMLTitle 、 XMLContents 、 TOT_ID 、 SHOWJS四个栏位来实现。其中 1. XMLTitle栏位: XMLTitle栏位中放是动态表格表标题、 表格栏位样式、 栏位宽度、 栏位内容检测以及部分动作按钮。比如: “职员转正自我考评表”中, XMLTitle栏位内容为: "工作内容(按关键性次序排列),绩效,绩效评为中差原因分 析,^TEXT,RADIO,TEXT,^250,200,200,^y,y,n^,优|良|中|差|,,^不能为空请检验|必需是日期型数
2、据|必需是数字型数据|输入了非法字符|^新增&y|删除&y|修改&y|插入&y|确定&y|取消&y|选择" 以“^”为界限, XMLTitle栏位内容能够分为以下多个参数: 第一参数: 表格标题, 如: “工作内容(按关键性次序排列),绩效,绩效评为中差原因分析”。 第二参数: 栏位类型, 类型具体说明见后面。 如: “TEXT,RADIO,TEXT” 第三参数: 表格栏位宽度。 如: “250,200,200,” 第四个参数: 是否为空检测。当为“y”时检测, “n”时不检测。 如: “y,y,n” 第五个参数: 辅助参数, 依据第二个参数不一样有不一样使用方法,
3、详见类型使用说明 第六个参数: 提醒说明(能够不考虑)。 如: “不能为空请检验|必需是日期型数据|必需是数字型数据|输入了非法字符”是对内容进行检测后提醒说明。 第七个参数: 按钮上文字定义(能够不考虑)。如: “新增&y|删除&y|修改&y|插入&y|确定&y|取消&y|选择”是部分相关按钮上文字定义。 2. XMLContents栏位: XMLContents栏位是对动态表格内容进行传值! 当表单提交后, 自动将动态表格内容付给XMLContents, 比如将下面动态表格值传给XMLContents栏位,
4、 图(4) XMLContents栏位内容为: “旺旺三期表单测试~中~不合格~^动态表格制作~优~~^”, 其中列与列之间用“~”间隔; 行与行之间用“^”间隔; 步骤走到第二站, 在只读情况下动态表格显示为: 图(5) 3. TOT_ID栏位: TOT_ID栏位是调用XMLTitle栏位内容! 其公式为: "[
]" 4. SHOWJS栏位: SHOWJS栏位控制动态表格样式以及显示;5、 在第一站, 当要对动态表格进行编辑时, 内容为: "[]" 当SetHTMLTitle函数第一个参数为'NULL'时, 动态表格为编辑状态, 当第一个参数为‘READ’时为编辑状态; ’Hid,TitleValue’是调用'HTMLTitle'栏位当中值; ‘XC’是调用'XMLContents'栏位值; table_width 是动态表格宽度; NoChinese是判定是否显示序号。 而SetHTMLTitle函数函数体在“共用资源”—>档案—>AutoTable.js中。 二. 动态表格栏位类型具体说明 1. 动态表格栏位格式有: (第二参数) (1
7、 TEXT…………………….. …文本格式 (2). RADIO……………………….单选按钮 (3). COMBOBOX………………..下拉列表框 (4). POPWINDOW……………….弹出Windows窗口 (5). DATE………………………...日期格式 (6). N………………………………数字格式 (7). R ..…………………………….文本格式, 但不能够编辑(不带值) (8). P1……………………………. 文本格式, 但不能够编辑(带值) (9). HJ…………………………….隐藏栏位 2. RAD
8、IO…单选按钮配置 以“职员转正自我考评表”为例, XMLTitle栏位第二参数为: “TEXT,RADIO,TEXT,”而与其相对应第五参数“,优|良|中|差|,,”中红色部分是单选按钮内容。 单选按钮内容之间以“|”间隔。显示样式如图(2)所表示: 图(2) 3. COMBOBOX…下拉列表框配置 以“岗位/薪资异动申请单”为例, XMLTitle栏位第二参数为: “COMBOBOX, POPWINDOW ,” 而与其相对应第五参数“签呈|试用期满通知单|职员转正自我考评表|试用/协议期满
9、考评表|职员岗位异动考评表|其它|,,” 中红色部分是下拉列表框内容。 下拉列表框内容之间以“|”间隔。显示样式如图(3)所表示: 图(3) 4. POPWINDOW…弹出窗口配置 以“岗位/薪资异动申请单”为例, XMLTitle栏位第二参数为: “, POPWINDOW ,” 而与其相对应第五参数为空。只需在JS表头里添加一段OpenPopWindow函数, 其内容为: function OpenPopWindow(item,Dis_XMLContents_name,ind) { DialogBoxName =
10、 "SelectForms" ExchangeFields ="" screenh='550' screenw='525' field_jSRadioname=item DialogBox(DialogBoxName,ExchangeFields, screenh, screenw,false); } 其中SelectForms为弹出表单名称, ExchangeFields为返回值, screenh、 screenw为弹出表单长度跟宽度。显示样式如图(3)所表示. 5. DATE…日期型配置 以“携眷/携眷变更/取消携眷申请表”为例, 其第四标题内容为
11、日期格式, 则XMLTitle栏位第二参数为: “, , ,DATEBR,”, 而与其相对应第五参数为空:“, , , , ”。只需在子表单中添加一个DATEBR栏位, 另外在DATEBR栏位onFocus属性里添加一下一段JavaScript代码: “document.all("edtJavaScript_F")[3].value=this.value;”。 其显示样式如图(4)所表示: 图(4) 点击按钮弹出以下窗口: 6. DATE…多日期型配置 若动态表格第三、 第四列都是日期型, 则
12、XMLTitle栏位第二参数为: “, , DATEBR,DATEBR1,”, 而与其相对应第五参数为空:“, , , , ”。只需在子表单中添加DATEBR和DATEBR1两个栏位。 而DATEBR栏位onFocus属性内容为“document.all("edtJavaScript_F")[2].value=this.value;”。 DATEBR1栏位onFocus属性内容为“document.all("edtJavaScript_F")[3].value=this.value;”。 7. 栏位检测 (1) 防空检测: 若 XMLTitle栏位第二参数内值为TEX
13、T格式, 且相对应第四参数为“y”情况下, 假如栏位值为空, 则在表单提交时会自动提醒“不能为空请检验”(第六参数第一个值)。 (2) 其它错误检测 若 XMLTitle栏位第二参数内值为DATE格式, 且相对应第四参数为“y”情况下, 假如栏位值不是正确日期类型, 则在表单提交时会自动提醒“必需是日期型数据”(第六参数第二个值)。 若 XMLTitle栏位第二参数内值为N(数字)格式, 且相对应第四参数为“y”情况下, 假如栏位值不是正确数字类型, 则在表单提交时会自动提醒“必需是数字型数据”(第六参数第三个值)。 8. 动态表格计算 以“职员绩效考评表”为例, 如图所表示:
14、 项目a1工作权重乘以考评得分加上a2工作权重乘以考评得分再加上………., 然后把结果统计在动态表格下面栏位里。 对于上面计算则要进行一下设置: (1) 将XMLTitle栏位第二参数第二列和第三列置为“N”, 如: “TEXT,N,N,TEXT,”。 (2) 在JS表头里添加下面两段函数: function henxiang_calcu(item,Dis_XMLContents_name) ///对“工作权重、 考评得分”内容检测 { if (Dis_XMLContents_name=="XMLContents") { if ((parseFloat(item[1]
15、value)>100) | (parseFloat(item[1].value)<0)) ///判定值是否在0-100之间 { msgBox("工作权重请输入0-100之间数字",1) return false } if ((parseFloat(item[2].value)>100) | (parseFloat(item[2].value)<0)) ///判定值是否在0-100之间 { msgBox("考评得分请输入0-100之间数字",1) return false } } } function zhongxiang_cal
16、cu(Dis_XMLContents_name) ///对动态表格进行统计 {if (Dis_XMLContents_name=="XMLContents") ///判定目前输入值与XMLContents是否相等 {var Temp_v=document.all(Dis_XMLContents_name).value /// 若相等则付给 Temp_v var a1,a2 a1=0 a2=0 a3=0 Temp_v=Temp_v.split("^") //////取出目前一行动态表格值 for (
17、var MM=0;MM 18、rseFloat(temp_va)
}
if (j ==2)
{a2= parseFloat(temp_va)*a1/100 ///将第三列值乘以a1/100付给a2
(统计一行值)
a3=a3+a2 ///对每一行总和进行相加付给a3
}
}
}
}
document.forms(0).SUMFRACTION.value=a3 ///将统计和付给SUMFRACTION栏位
}
}






