插件动态填充下拉框

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

插件动态填充下拉框

# 《每天一点点》 ------Meutopia ## 有没有遇到这样的需求,用户选择不同单据类型,然后下拉框展示不同的值,下面的方法解答你 // 如果是使用单据类型触发下拉列表的填充动作时,此事件不需要执行,此DataChanged事件的代码可整段注释掉,因为单据类型切换会引发整个页面的重新加载,需要在AfterBindData事件中填充下拉列表 // 如果是使用非单据类型字段触发下拉列表的填充动作时,此事件需要执行,AfterBindData事件中不需要执行,对应代码块可以注释掉。 // 获取元数据中设计的等级的枚举项集合 var levelEnumObjects = (DynamicObjectCollection)((ComboField)this.View.BillBusinessInfo.GetField("F_PAEZ_Combo")).EnumObject["Items"]; var enumList = new List<EnumItem>(); // 获取单据类型的内码 var billTypeId = string.Empty; var billTypeObj = this.Model.GetValue("FBillTypeID") as DynamicObject; if (billTypeObj != null) { billTypeId = billTypeObj[0].ToString(); } if (billTypeId == "6d01d059713d42a28bb976c90a121142") // 标准委外订单 { // 当单据类型是【标准委外订单】时,给下拉列表填充A,B两个选项 var enumObjects = levelEnumObjects.Where(o => Convert.ToInt32(o["Value"]) < 2).Select(o => (EnumItem)o).ToArray(); enumList.AddRange(enumObjects); } else if (billTypeId == "b8df755fd92b4c2baedef2439c29f793") // 直运采购订单 { // 当单据类型是【直运采购订单】时,给下拉列表填充A,B,C,D两个选项 var enumObjects = levelEnumObjects.Where(o => Convert.ToInt32(o["Value"]) < 4).Select(o => (EnumItem)o).ToArray(); enumList.AddRange(enumObjects); } else { // 其它情况,给下拉列表填充E,F两个选项 var enumObjects = levelEnumObjects.Where(o => Convert.ToInt32(o["Value"]) > 3).Select(o => (EnumItem)o).ToArray(); enumList.AddRange(enumObjects); }

插件动态填充下拉框

# 《每天一点点》 ------Meutopia## 有没有遇到这样的需求,用户选择不同单据类型,然后下拉框展示不同的值,下面的方法解答...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息