阅读:2018
回复:4
|
数据字典渲染到select完成之后的事件
java 10.4
表单的某个字段设置成下拉列表,使用的是数据字典的值,但是在$.MvcSheet.Loaded = function(sheetInfo) {}里通过$.MvcSheetUI.SetControlValue("Rank",3);赋值不能生效,好像是数据字典的值没有渲染到select,怎么解决这个问题?@H3BPM @武汉技术支持团队 @果冻栋吖 大佬们,求指教 |
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); |
|
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控件加个渲染完成事件。 |
|
3楼#
发布于:2018-11-16 14:10
|
|
4楼#
发布于:2018-11-16 14:25
|
|