单据动态添加单选按钮(组)原创
10人赞赏了该文章
2,303次浏览
编辑于2021年03月31日 16:59:57
应用场景:很多时候我们使用单选按钮是动态生成的,而非在表单设计器就设定好的。下面的示例记录了通过业务数据在界面上动态创建单选按钮(组)的过程:
Container radioFlex = getControl("flex标识"); DynamicObjectCollection items = new DynamicObjectCollection(); // 实际是业务查询的值 List<ComboItem> radioGroupItems = new ArrayList<>(); for(int itemIndex = 0; itemIndex < items.size(); itemIndex ++) { DynamicObject item = items.get(itemIndex); radioGroupItems.add(new ComboItem(itemIndex+1, new LocaleString("单选按钮标题"), "单选按钮值")); // 创建字段 FieldAp fieldAp = new FieldAp(); fieldAp.setId("字段id"); fieldAp.setKey("字段标识"); fieldAp.setName(new LocaleString("单选按钮标题")); // 创建单选按钮 RadioField radioField = new RadioField(); radioField.setId("单选按钮id"); radioField.setKey("单选按钮标识"); radioField.setGroup("单选按钮组标识"); // 单选按钮组的标识要跟下面创建的单选按钮组的标识一致 radioField.setItems("单选按钮值"); fieldAp.setField(radioField); // 字段加入到flex中 radioFlex.addControls(Collections.singletonList(fieldAp.createControl())); } // 创建单选按钮组 FieldAp fieldAp = new FieldAp(); fieldAp.setId("单选按钮组id"); fieldAp.setKey("单选按钮组标识"); // 单选按钮组 RadioGroupField radioGroupField = new RadioGroupField(); radioGroupField.setItems(radioGroupItems); // 按钮组需要设置好items fieldAp.setField(radioGroupField); // 字段加入到flex中 radioFlex.addControls(Collections.singletonList(fieldAp.createControl()));
注意:单选按钮需要配合单选按钮组才能正常使用。另外,不知道是不是苍穹环境版本问题,我的单选按钮的按钮值的属性是 items ,而非开发文档的 value ,所以我的示例代码使用的是 radioField.setItems(XXX);
赞 10
10人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读