泛微oaE9并且所有接口统一封装在全局对象window.WfForm中,该如何用js将明细表的一个字段设为null值
时间: 2024-03-01 18:52:02 浏览: 27
在泛微OA E9中,所有接口都被封装在全局对象window.WfForm中,可以通过该对象进行表单操作。下面介绍如何使用window.WfForm对象将明细表中的一个字段设为null值:
1. 获取明细表对象
在表单控件的事件中,可以通过以下代码获取明细表对象:
```
var detail = window.WfForm.getDetailData("detail_table_name");
```
其中,detail_table_name表示明细表的名称。
2. 遍历明细表中的数据,将指定字段设为null
在获取到明细表对象后,可以使用JavaScript的循环语句(如for循环)遍历明细表中的数据,将指定字段设为null。例如,以下代码将明细表中所有记录的某个字段设为null:
```
for (var i = 0; i < detail.rows.length; i++) {
detail.setValue(i, "field_name", null);
}
```
其中,rows表示明细表中的行数,setValue方法用于设置指定行列的值,第一个参数i表示行号,"field_name"表示要设为null的字段名。
需要注意的是,以上代码仅为示例,具体实现方法可能因为业务场景的不同而有所不同。在实际开发中,需要根据具体情况进行修改和调整。
相关问题
泛微oaE9并且js的接口统一封装在全局对象window.WfForm中那如何获取明细表字段值具体代码是?
根据你的描述,我了解到你正在使用泛微OA E9版本,并且JS的接口被封装在全局对象window.WfForm中。如果你想要获取明细表字段的值,你可以按照以下步骤进行:
1. 首先,获取当前明细表的行数,可以使用WfForm.getDetailRowCount('明细表名称')方法。
2. 然后,使用for循环遍历每一行的数据,获取明细表中每个字段的值,可以使用WfForm.getDetailFieldValue('明细表名称', '字段名称', 行号)方法。
下面是获取明细表字段值的示例代码:
```javascript
// 获取明细表行数
var rowCount = WfForm.getDetailRowCount('明细表名称');
// 遍历明细表行数据
for (var i = 0; i < rowCount; i++) {
// 获取明细表字段值
var fieldValue = WfForm.getDetailFieldValue('明细表名称', '字段名称', i);
// 处理获取到的字段值
console.log(fieldValue);
}
```
注意,代码中的'明细表名称'和'字段名称'需要替换为你实际使用的明细表名称和字段名称。
泛微oaE9如何用javascript的循环语句并且所有接口统一封装在全局对象window.WfForm中来实现其中明细表1中js字段值为“1”和“0”,如果明细表一的这个js字段值为“1”则明细表1的其他两个字段ck和kw为必填,如果明细表1的js字段值为“0”则明细表1的其他两个字段ck和kw只读并隐藏并列举代码
首先需要明确的是,泛微OA E9使用的是ECMAScript 5标准中的JavaScript语言,因此可以使用常见的for循环、while循环等循环语句。
其次,所有接口可以封装在全局对象window.WfForm中,在循环中可以通过WfForm对象来操作表单。
接下来是实现明细表1的逻辑,可以参考以下代码:
```javascript
// 获取明细表1的行数
var rowCount = WfForm.getDetailRowCount("明细表1");
// 循环明细表1的每一行
for (var i = 0; i < rowCount; i++) {
// 获取js字段的值
var jsValue = WfForm.getDetailValue("明细表1", "js", i);
// 如果js字段的值为1
if (jsValue === "1") {
// 设置ck和kw字段为必填
WfForm.changeDetailFieldAttr("明细表1", "ck", i, "mustinput", "true");
WfForm.changeDetailFieldAttr("明细表1", "kw", i, "mustinput", "true");
} else {
// 设置ck和kw字段为只读和隐藏
WfForm.changeDetailFieldAttr("明细表1", "ck", i, "readonly", "true");
WfForm.changeDetailFieldAttr("明细表1", "ck", i, "hidden", "true");
WfForm.changeDetailFieldAttr("明细表1", "kw", i, "readonly", "true");
WfForm.changeDetailFieldAttr("明细表1", "kw", i, "hidden", "true");
}
}
```
在上面的代码中,首先通过WfForm对象获取明细表1的行数,然后循环每一行,获取js字段的值,根据js字段的值来设置ck和kw字段的属性,实现了根据js字段值的不同来控制其他字段的必填、只读和隐藏状态。