SmartGWT 之 optionDataSource灵异事件

MyCalendarEvent 与一个 Task相关联,也就是个外键,使用 SelectItem来选择相应的 Task。

很自然的就用到了         taskSelectItem.setOptionDataSource( DataSource.get("task"));

按理说这是个很简单的事情,结果就出错了,报告说 getOptionDataSource 是 null。

非常奇怪,如果是个 ListGrid 里面这么用,设置 ListGridField的 optionDataSource就没事。

很是灵异。

 

于是用FireBug跟踪了一下,在 getOptionDataSource的时候,它会判断一下 optionDataSource

是String对象还是 DataSource对象,如果是 String 对象,会到一个 DataSource 的 Map 里面去取

相应的 DataSource。只是奇怪的是,这个时候,optionDataSource 是一个 String,而且是一个

[DataSource ID:task] 这样的 String。这样,自然在 DataSource的Map里面是取不到 DataSource的。

于是就会爆出刚才那个异常。

 

没有仔细去研究js代码,但是感觉就是它把 optionDataSource 对象用 toString搞了一下,导致出现了key

不对的现象。估计是一个bug,懒得深入去搞了,用了一个简单办法绕过去了。

 

        taskSelectItem.setAttribute("optionDataSource", "task");

 

就这样ok了。用的SmartGWT 版本是2.1, EE的版本也是2.1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值