阅读:2019 回复:4
Solin
22

帖子

52

跟帖

358

积分

黄金榴莲
黄金榴莲

数据字典渲染到select完成之后的事件

楼主#
更多 发布于:2018-11-16 11:30
java 10.4
表单的某个字段设置成下拉列表,使用的是数据字典的值,但是在$.MvcSheet.Loaded = function(sheetInfo) {}里通过$.MvcSheetUI.SetControlValue("Rank",3);赋值不能生效,好像是数据字典的值没有渲染到select,怎么解决这个问题?@H3BPM @武汉技术支持团队 @果冻栋吖 大佬们,求指教
TAn
TAn
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
1楼#
发布于:2018-11-16 13:49
有个比较不优雅的处理办法,加settimeout,判断是否有option,有了再赋值。
var type = $.MvcSheetUI.GetElement("SO_OrdType");
            type.prop("disabled", true);
            setTimeout(function () {
                var ele = type[0];
                if (typeof (ele) != "undefined" && typeof (ele.options) != "undefined" && ele.options.length > 1) {
                    $.MvcSheetUI.SetControlValue("SO_OrdType", 1);
                } else {
                    setTimeout(function () {
                        $.MvcSheetUI.SetControlValue("SO_OrdType", 1);
                    }, 1000);
                }
                type.prop("disabled", false);
            }, 500);
TAn
TAn
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
2楼#
发布于:2018-11-16 13:55
稍微优雅的点是在控件初始化事件里面设置默认选中值
// 控件初始化事件
        $.MvcSheet.ControlInit = function () {
            //根据不同的入口设定Domain
            if (this.Type == "SheetDropDownList" && this.DataField == "SO_Domain" &&
                (this.SheetInfo.SheetMode == $.MvcSheetUI.SheetMode.Originate || this.SheetInfo.SheetMode == $.MvcSheetUI.SheetMode.Work)) {
                if (this.V == null || this.V == "" || typeof (this.V) == "undefined") {
                    this.SelectedValue = "BWO";
                }
            };


一劳永逸的办法就是给SheetDropDownList控件加个渲染完成事件。
Solin
22

帖子

52

跟帖

358

积分

黄金榴莲
黄金榴莲
3楼#
发布于:2018-11-16 14:10
TAn:稍微优雅的点是在控件初始化事件里面设置默认选中值
// 控件初始化事件
        $.MvcSheet.ControlInit = function () {
            //根据不同的入口设定Domain
   ...
回到原帖
渲染完成事件怎么加呢
Solin
22

帖子

52

跟帖

358

积分

黄金榴莲
黄金榴莲
4楼#
发布于:2018-11-16 14:25
TAn:稍微优雅的点是在控件初始化事件里面设置默认选中值
// 控件初始化事件
        $.MvcSheet.ControlInit = function () {
            //根据不同的入口设定Domain
   ...
回到原帖
这种方法也解决了我的问题,非常感谢
游客

返回顶部