移动表格
| 产品版本 | 更新内容 | 更新日期 |
| --- | --- | --- |
| V5.0.017 | 增加了移动表格固定列的功能,方便用户查看数据 | 2023-10-18 |
| V6.0.1 | 支持了动态设置列隐藏的指令 | 2023-10-18 |
| V6.0.6 | 优化了移动端表格横屏切换按钮的功能及样式,提供“横屏展示”的开关属性,以满足用户在字段较少时不需要切横屏展示的需求 | 2024-1-22 |
| V6.0.15 | 支持了移动端表格单元格内容显示为超链接,满足用户点击单元格内容下钻到详情的需求 | 2024-7-8 |
| V7.0 | 支持了数值类型的汇总功能 | 2024-10-24 |
# 1 功能介绍
移动端表格支持用户在移动端以表格的形式展示数据,以便可以在手机上同时查看到尽可能多的数据。
# 2 属性说明
## 2.1 通用属性
>通用属性包含字段和控件的一些公有的属性,如宽高,帮助文本等等。请参考[通用属性](https://vip.kingdee.com/article/215559076720798976)
## 2.2 样式属性
>样式属性是每个控件在设计器右侧样式栏可以设置的属性,请参考[样式属性](https://vip.kingdee.com/article/252017936767406336)
## 2.3 业务属性
| 属性名 | 类型 | 默认值 | 说明 |
| --- | --- | --- | --- |
| 数据源类型 | 下拉 | 单据体 | 数据源类型,目前支持单据体数据源和自定义数据源,默认是单据体数据源 |
| 数据源 | 弹框选择 | - | 选择移动表格要展示的数据源,如果是自定义取数则没有该属性 |
| 显示序列号 | 复选框 | false | 是否显示序号列 |
| 行高自适应 | 复选框 | false | 行高根据内容自适应 |
| 最大行高 | 宽高选择器 | - | 设置最大行高,不设则按内容撑开,开启行高自适应会有该属性 |
| 冻结列 | 弹框选择 | - | 设置哪些列需要冻结,冻结列固定在左侧 |
| 横屏展示 | 复选框 | false | 是否要显示横屏切换按钮,默认展示 |
## 2.4 名词解释
### 2.4.1 数据源
目前移动表格的数据源有两种:
* 主实体数据源:PC单据、PC基础资料自带的移动表单拥有主数据源,单据必须有单据体才能展示数据源。
* 插件数据源:可由插件自定义取数,且在一个移动表格中,不同字段数据源可不一样
移动表格上可以配置数据源类型和选择数据源实体,数据源类型为单据体可以取表单的实体数据源,数据源类型为自定义的则需要通过插件赋值。
*注意:移动表单上没有单据实体,不能使用实体数据源,只能使用插件数据源*
![image.webp](/download/01000d17270aabc043cf9a29db6d0b17916e.webp)
### 2.4.2 移动表格列
目前移动表格支持八种类型的列,分别是表格文本、表格整数、表格小数、表格日期,表格时间、表格图片、表格金额,表格附件。
![image.webp](/download/0100b22798a357684125a02beaca50e7eb3c.webp)
移动表格列通过映射的方式映射到实体数据源对应的列,比如表格文本,字段映射选择的是单据体的基础资料列,在展示的时候其实也是基础资料的类型。需要注意的是,表格整数类型的列不能映射到文本类型,在选择的时候也选不到,因为平台帮我们做了隔离。具体可以映射的类型可以参考下面表格。
需要注意的一点时:字段映射时会把单据体相关的列属性也带过来,如果在移动表格列也配置了相同的属性,则移动表格的配置优先生效。例如单据体小数列的小数精度为10,移动表格列设置的小数精度2,那么显示的时候小数精度也是2
![image.webp](/download/0100d4a4174bd9a840d6a315a90eac82a56c.webp)
### 2.4.3 冻结列
移动表格在设计器上有个冻结列属性,打开配置第一列冻结
![image.webp](/download/01008c1215e6a0e848549d15c6fcaf72baf5.webp)
预览时第一列冻结显示,序号列默认是冻结的
![image.webp](/download/01006e41dac400e141919d3c3a60ecebbbc7.webp)
### 2.4.4 汇总方式
数值类型字段支持汇总功能,可根据业务场景选择对应的汇总方式。
![image.webp](/download/0100f6b8dfae0972405f90d8486fad94d140.webp)
### 2.4.5 显示为超链
列定义上支持“显示为超链“属性,开启后,单元格显示为超链样式,点击单元格会往服务端发送单元格超链接点击请求“**hyperLinkClick**”,可以在插件监听请求做下钻到详情页处理。
![image.webp](/download/0100110c0e1d9b2c4275978c2f422aa4e358.webp)
# 3 操作演示
以单据体取数为例:
* 新建一个单据,并配置好单据体分录数据 ![image.webp](/download/0100ce2c428597dd4799bd252627f3bb9594.webp)
* 切换到移动表单,左侧控件栏选择【表格控件】–>【移动表格】,然后将表格数据源绑定刚才建好的单据体。
* 选中移动表格控件,然后在左侧控件栏选择添加移动表格列,也可以直接拖拽添加。添加列定义后,选中其中某一列,点击字段映射属性,将移动表格列映射到单据体的列。其他列定义按同样的步骤处理。
![1.webp](/download/0100938dee6cd6284fc597cb7c454d8a04a2.webp)
* 接下来是数据,回到单据页面预览,给单据体添加数据,完成后点击提交
![image.webp](/download/0100dd116868f8d440c990c6baea178452b3.webp)
* 切换到移动列表,预览点击刚才新增的单据。
![2.webp](/download/010070bfcff3922f4787b7615ecbd2802cc2.webp)
# 4 插件示例
数据源为自定义取数时需要使用插件给表格赋值。
这里以设计器配好的一个移动表格为例,动态去修改列属性以及插入行数据。初始化代码如下:
```java
public class MobTablePluginSample2 extends AbstractFormPlugin implements IBeforeCreateMobTableColumnsListener {
@Override
public void initialize() {
MobTable mobTable = getControl("mobtableap");
mobTable.addBeforeCreateMobTableColumnsListener(this);
mobTable.addMobTablePackageDataHandlerListener(new IMobTablePackageDataHandlerListener() {
@Override
public void createMobTablePackageDataHandler(MobTablePackageDataHandlerEvent mobTablePackageDataHandlerEvent) {
mobTablePackageDataHandlerEvent.setMobTablePackageDataHandler(new MyMobTablePackageDataHandler2());
}
});
}
}
```
调整已有列的格式化属性:
```java
@Override
public void beforeCreateMobTableColumns(BeforeCreateMobTableColumnsEvent event) {
List<MobTableColumn> mobTableColumns = event.getMobTableColumns();
*// 调整已有日期列格式化属性*
for (MobTableColumn col : mobTableColumns) {
if(col.getKey().equals("datemobtablecolumnap")) {
DateTimeField dateTimeField = new DateTimeField();
Map<String, Object> editor = dateTimeField.createEditor();
editor.put(ClientProperties.DisplayFormatString, "YYYY年MM月DD日");
col.setCustomEditor(editor);
}
}
}
```
重写handleData返回数据result数据处理结果:
```java
class MyMobTablePackageDataHandler2 extends MobTablePackageDataHandler {
@Override
public MobTableHandleResult handleData(MobTablePackageDataHandlerArgs args) {
List<MobTableColumn> mobTableColumns = args.getMobTableColumns();
MobTableHandleResult mobTableHandleResult = new MobTableHandleResult();
List<MobTableRowData> mobTableRowDataList = new ArrayList<>();
for(int index = 0; index < 5; index++) {
*// 创建行数据并赋值*
MobTableRowData mobTableRowData = MobTableRowBuilder.buildTemplateRowData(index, mobTableColumns);
mobTableRowData.setValue("textmobtablecolumnap", "value" + index);
mobTableRowData.setValue("integermobtablecolumnap", 100 + index);
mobTableRowDataList.add(mobTableRowData);
}
mobTableHandleResult.setMobTableRowDataList(mobTableRowDataList);
*// 额外格式化信息如日期、金额,支持重写*
mobTableHandleResult.setFmtInfo(getFmtInfo(args));
return mobTableHandleResult;
}
}
```
动态设置列隐藏
和单据体类似,调用visible控件方法可以控制列隐藏
指令格式为:
```
[{"key":"mobile_table","methodname":"visible","args":[[{"v":[{"k":"kdtest_textfield","vi":false}]}]]}])
```
# 5 注意事项
* *切换数据源类型时会清空字段映射,请知悉*
* *内容超出列宽会出现省略号,如果想要展示完整数据,可以打开行高自适应属性*。
| V6.0.15 | 支持了移动端表格单元格内容显示为超链接,满足用户点击单元格内容下钻到详情的需求 | 2024-7-8 |
移动表格
| 产品版本 | 更新内容 | 更新日期 || --- | --- | --- || V5.0.017 | 增加了移动表格固定列的功能,方便用户查看数据 | ...
点击下载文档
本文2024-09-23 00:40:00发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140947.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章