Namespace Sucang.detail
Defined in: detail.js.
Constructor Attributes | Constructor Name and Description |
---|---|
明细表操作的相关方法
|
Method Attributes | Method Name and Description |
---|---|
<static> |
Sucang.detail.Add(String, Integer|Object|null, Function|Object)
1,默认在最后插入一行
2,当CheckBox选中后,在最后选中项的前面插入一行. |
<static> |
Sucang.detail.checkUnique(String, String|Array)
检查指定明细行数据的唯一性,需要自定义检查脚本中调用是否需要检测
|
<static> |
Sucang.detail.clearRowId(String)
清除子表单明细行的唯一标识符ID,用于提交时会重新保存数据,相当于复制了当前所有明细行数据
|
<static> |
Sucang.detail.Copy(String, Number, Function|Object)
将指定行号或选中行的数据复制到后一行
|
<static> |
Sucang.detail.Del(String)
根据子表id删除当前选中的行
|
<static> |
Sucang.detail.filldata(String, String, String|Object, Function|Object)
用于在布局中Ajax异步加载明细多行数据,根据sql或者url,返回值为JSONArray类型,并key和明细字段名对应
|
<static> |
Sucang.detail.getColumnValue(String|Object, boolean)
返回$fieldName列的数据以数组类型
|
<static> |
Sucang.detail.getName(String|Object)
分解明细表字段的名称
|
<static> |
Sucang.detail.getRecordValue(string|Object, Boolean)
返回$rowIndex行的数据以键值对类型的对象
|
<static> |
Sucang.detail.getRowIds(String)
返回明细行的ID值的排列顺序,以便下次编辑是保持顺序。如果为数字表示新增行
|
<static> |
Sucang.detail.getRowIndexByOrder(String, Number)
根据行顺序号获取行的索引号,正常情况下是相等的,当行有中间增加或删除时,行顺序和行索引号就不对应.
|
<static> |
Sucang.detail.getRowIndexs(String, boolean)
返回明细行的行号
|
<static> |
Sucang.detail.reorder(String[必须], Function[可选])
用于在编辑模式的明细前<s:rowid prefix="F1" value="_${ch.id}" withorder="true" /"> 如果自定义序号格式,请实现reorderCallback(i)回调函数
|
<static> |
Sucang.detail.selectAll(String, boolean|Object)
选中所有明细行,如Sucang.detail.selectAll('F34',this);
|
<static> |
Sucang.detail.setRowReadonly(String, Number, boolean, Object)
设置行数据为只读,执行该操作后无法还原为编辑状态。
|
Method Detail
<static>
{objTr}
Sucang.detail.Add(String, Integer|Object|null, Function|Object)
1,默认在最后插入一行
2,当CheckBox选中后,在最后选中项的前面插入一行.
3,如果指定Index则插入到index行的位置,**一次只能插入一行**
2,当CheckBox选中后,在最后选中项的前面插入一行.
3,如果指定Index则插入到index行的位置,**一次只能插入一行**
- Parameters:
- {formPrefix} String
- 子表单的前缀编号,见FormInfo.indexFlag
- {index} Integer|Object|null
- //如果是数字型,则指行的顺序即可从0开始计数
- {callback} Function|Object
- 添加明细行完成后的回调函数或者填充初始化值{name:$v1,name2:$v2,callback:function(rowIndex,id){ ... }} 或者 function(rowIndex,id){ ... }
- Returns:
- {objTr} HTMLTrElement 返回新增加行的TR对象
<static>
Sucang.detail.checkUnique(String, String|Array)
检查指定明细行数据的唯一性,需要自定义检查脚本中调用是否需要检测
- Parameters:
- {prefix} String
- //明细表前缀
- {fieldNames} String|Array
- //字段名或多个字段联合唯一性
- Returns:
- boolean|Number 如果都是唯一的则返回true,否则为行序号(不是行的索引号,有可能因为删除或中间插入而导致的显示行和索引号不一致)
<static>
Sucang.detail.clearRowId(String)
清除子表单明细行的唯一标识符ID,用于提交时会重新保存数据,相当于复制了当前所有明细行数据
- Parameters:
- {formPrefix} String
- 子表单的前缀编号,见FormInfo.indexFlag
<static>
Sucang.detail.Copy(String, Number, Function|Object)
将指定行号或选中行的数据复制到后一行
- Parameters:
- {prefix} String
- //明细表前缀
- {rowOrder} Number
- //行序号,从0开始计数,如果为null则默认复制选中行
- {data} Function|Object
- //参数格式同Add()方法的第三个参数
- Returns:
- 如果执行成功返回索引行号,否则返回-1
<static>
{rowindexs}
Sucang.detail.Del(String)
根据子表id删除当前选中的行
- Parameters:
- {formPrefix} String
- 子表单的前缀编号,见FormInfo.indexFlag
- Returns:
- {rowindexs} Array 返回值为删除了的行索引号
<static>
Sucang.detail.filldata(String, String, String|Object, Function|Object)
用于在布局中Ajax异步加载明细多行数据,根据sql或者url,返回值为JSONArray类型,并key和明细字段名对应
- Parameters:
- {preifx} String
- 明细表的前缀ID
- {sqlid} String
- 布局中的自定义sqlid标识符或者直接指定在/为前缀的URL地址
- {params} String|Object
- 指定参数对象,如果只传一个参数,则Sql页面用value变量表示
- {data} Function|Object
- 回调函数格式{callback:function(rowindex,rowData){ .. },_clearAll:true}默认参数_clearAll=true表示填充明细前先清空明细表可以指定为false则不清空
如果是Object则每一行的上覆盖自定义数据可以指定callback属性来指定回调函数(每一行都会调用callback函数)
- Returns:
- void
<static>
{vals}
Sucang.detail.getColumnValue(String|Object, boolean)
返回$fieldName列的数据以数组类型
Sucang.page.getColumnValue('F45_2_name1');将返回name1字段列的所有数据
- Parameters:
- {fieldName} String|Object
- 明细表中的字段名或Input输入框的对象
- {isNumber} boolean
- 表示是否将数据转换为数字型数组返回,可省略。默认为字符串
- Returns:
- {vals} Array<String>
<static>
{obj}
Sucang.detail.getName(String|Object)
分解明细表字段的名称
Sucang.detail.getName('F45_2_name1');返回值为{prefix:'F45',rowindex:2,name:'name1'}
- Parameters:
- {fieldName} String|Object
- 明细表中的字段名或明细表中的Browser按钮对象,名称一般为:F45_2_name1
- Returns:
- {obj} Object {prefix:$前缀,rowindex:$该字段所在行号,name:$字段名}
<static>
{vals}
Sucang.detail.getRecordValue(string|Object, Boolean)
返回$rowIndex行的数据以键值对类型的对象
Sucang.page.getRecordValue('F45_2_name1');将返回第2行的所有字段的数据
- Parameters:
- {fieldName} string|Object
- 明细表中的字段名或Input输入框的对象
- {withText} Boolean
- 表示是否返回带文本的用于行数据复制用
- Returns:
- {vals} Object
<static>
{ids}
Sucang.detail.getRowIds(String)
返回明细行的ID值的排列顺序,以便下次编辑是保持顺序。如果为数字表示新增行
- Parameters:
- {formPrefix} String
- F+表单的前缀编号,见FormInfo.indexFlag,如:F103,F18
- Returns:
- {ids} Array<String> 明细表行字段按数组顺序排列,数组中保存的是行号
<static>
{rowIndex}
Sucang.detail.getRowIndexByOrder(String, Number)
根据行顺序号获取行的索引号,正常情况下是相等的,当行有中间增加或删除时,行顺序和行索引号就不对应.
- Parameters:
- {prefix} String
- 明细表单的前缀
- {order} Number
- 行的顺序号
- Returns:
- {rowIndex} Number 如果顺序号超出显示明细的行数,则返回-1
<static>
{ids}
Sucang.detail.getRowIndexs(String, boolean)
返回明细行的行号
- Parameters:
- {formPrefix} String
- F+表单的前缀编号,见FormInfo.indexFlag,如:F103,F18
- {blSelected} boolean
- 可以为空,true或false,空时表示获取所有行号,true表示只获取选中,false获取未选中的行号。version>2.201有该选项可用
- Returns:
- {ids} Array<Number>
<static>
Sucang.detail.reorder(String[必须], Function[可选])
用于在编辑模式的明细前<s:rowid prefix="F1" value="_${ch.id}" withorder="true" /"> 如果自定义序号格式,请实现reorderCallback(i)回调函数
- Parameters:
- {preifx} String[必须]
- - 明细表的前缀ID
- {textFun} Function[可选]
- - 用于序号的文本,默认为【0、】。参数定义为function(i)返回需要显示的文本
<static>
Sucang.detail.selectAll(String, boolean|Object)
选中所有明细行,如Sucang.detail.selectAll('F34',this);
- Parameters:
- {formPrefix} String
- 子表单的前缀编号,见FormInfo.indexFlag
- {obj} boolean|Object
- 当为true/false时表示全选中或全不选,object时指向input.checked的值
<static>
Sucang.detail.setRowReadonly(String, Number, boolean, Object)
设置行数据为只读,执行该操作后无法还原为编辑状态。
- Parameters:
- {prefix} String
- //明细表前缀
- {rowindex} Number
- //行号,可能因为有删除行,行号不总是连续的。需要使用getRowIndexs(prefix)方法获取
- {noSaveForm} boolean
- //表示当前行数据不保存到服务器仅显示。 值为true时会删除表单控件但不会影响公式的计算。如果参数为1则删除控件对象会影响公式计算。
- {renderData} Object
- //用于明细文本只读后,需要显示格式化的数据模板.例:{'字段名':'format ${value}后的值.',..}
- Returns:
- 执行成功返回true