自定义取数的表格开发场景,就看轻量表格!

在开发工作中,会面临仅需要用表格展示数据的业务场景,过去苍穹平台仅可通过单据体和单据列表两种控件来实现,并且这两种表格控件均需绑定实体,设置复杂的逻辑,从而消耗大量精力。
在苍穹V5.0.0.11版本中,除原有单据体、单据列表控件外,新增无需绑定实体的轻量级【表格】控件,增强表格开发场景中的控件选型能力,开发效率提升80%!
1 适用版本
该功能适用版本为金蝶云·苍穹V5.0.011及以上。
2 功能速览
轻量表格的开发分为设计器配置与插件开发两大部分
设计器配置:可快速进行表格布局及常用属性配置;
插件开发:可创建列干预和数据绑定。
【表格】控件后续将收集更多需求,完善控件能力,敬请期待~
3 功能详情
设计器配置
在设计器中可添加表格控件及其数据列,操作步骤如下:
步骤一:选择【表格】控件并添加入画布中。

选择【表格】控件
步骤二:选中画布上的表格控件,为其添加数据列。
可选数据列有“表格文本”、“表格整数”、“表格小数”、“表格日期”、“表格时间”、“表格金额”、“表格图片”、“操作列”等。

添加数据列
步骤三:常用属性及样式设置。
常用属性:显示序号列、可见性、为零显示、小数精度、日期格式、时间格式等;
常用样式:尺寸设置、字体设置、颜色设置、行高自适应等。

常用属性及样式设置
插件开发
通过以上设计器配置,我们已经完成了表格的布局和基本属性配置,接下来只需通过插件传入标准的列数据与行数据,即可完成轻量表格的开发。在插件中,我们可以实现创建列干预和数据绑定,详见以下说明。
创建列干预
步骤一:首先需要在插件initialize方法中为表格控件注册列创建和绑定数据列监听事件;
步骤二:动态创建列:创建表格控件列时触发创建列事件,插件需要实现BeforeCreateDataGridColumnsListener接口并重写beforeCreateDataGridColumns方法,从参数获取columns操作列集合进行自身的业务逻辑。
数据绑定
表格控件刷新时触发绑定数据,插件需要实现DataGridBindDataListener接口并重写dataGridBindData方法,通过参数setData设置自定义数据。本方法参数提供DataGridRowBuilder,方便创建行数据。
代码示例如下:
/**
* 动态创建列、数据绑定
*/
public class DataGridSamplePlugin extends AbstractFormPlugin implements DataGridBindDataListener, BeforeCreateDataGridColumnsListener {
/**
* 初始化为控件增加监听事件
*/
@Override
public void initialize() {
DataGrid dataGrid = this.getControl("datagridap");
// 注册创建列监听事件
dataGrid.addBeforeCreateDataGridColumnsListener(this);
// 注册绑定数据监听事件
dataGrid.addBindDataListener(this);
}
/**
* 监听创建列事件
* @param event
*/
@Override
public void beforeCreateDataGridColumns(BeforeCreateDataGridColumnsEvent event) {
// 所有列集合
List<DataGridColumn> dataGridColumns = event.getDataGridColumns();
// 动态创建文本列
TextDataGridColumn column = new TextDataGridColumn();
column.setKey("colKey");
column.setCaption(new LocaleString("测试列"));
// 加入列集合
dataGridColumns.add(column);
}
/**
* 数据绑定
*/
@Override
public void dataGridBindData(DataGridBindDataEvent e) {
List<Object> list = new ArrayList<>();
int index = 0;
自定义取数的表格开发场景,就看轻量表格!
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



