电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-2314

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

在开发工作中,会面临仅需要用表格展示数据的业务场景,过去苍穹平台仅可通过单据体和单据列表两种控件来实现,并且这两种表格控件均需绑定实体,设置复杂的逻辑,从而消耗大量精力。


在苍穹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;

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

在开发工作中,会面临仅需要用表格展示数据的业务场景,过去苍穹平台仅可通过单据体和单据列表两种控件来实现,并且这两种表格控件均需绑定...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信