Flexgrid中使用自定义ComboBox控件
我的需求是表格有两列:人员和职位。人员列需要下拉控件,数据源是类型为对象数组([{value,label}])的常量。人员下拉效果为:选中一行后,将selectItem的label赋值给人员列binding,同时将selectItem的value赋值给职位列的binding。wijmo版本:5.20172.359前端框架: vue2
我的问题是:
1)DataMap能否实现这样的联动更新的功能,我没找到dataMap的selectedChanged的这样的事件可以监听?
2)我现在用的是官网自定义编辑器。 ES6版的CustomGridEditor类实现的
let editor =new CustomGridEditor(flex, binding, ComboBox, {
selectedIndexChanged: (sender: any) => {
let curr = flex.itemsSource.currentItem
if (sender && sender.selectedItem && curr) {
let selectedItem = sender.selectedItem
curr['name'] = selectedItem.label
curr['operator'] = selectedItem.value
}
},
displayMemberPath: 'label',
selectedValuePath: 'label',
itemsSource: LIST但是,这个方法有两个问题:一个是样式上并不能像dataMap一样有个下拉图标显示。另一个是:每次对一个新的单元格进行编辑的时候都会带上上一次编辑完的值,还不能触发selectedIndexChanged 事件。
针对第二个问题,我在cell的beginningEdit事件中重新更新了selectIndex,请问还有别的更好的解决办法吗?
flex.beginningEdit.addHandler((s, e: any) => {
if (s.columns.binding === 'name') {
if (editor) {
;(editor.control as ComboBox).selectedIndex = -1
}
}
})
您好,您要的效果,在目前最新的2020版本上已经实现了,请参考这篇Demo:
https://www.grapecity.com/wijmo/demos/Grid/Editing/CustomEditors/purejs
建议您将Wijmo升级到目前的最新版本。新版本会向下兼容原版本。 我们已经买了2017版的,2017版本的能实现我要的效果吗 您好,2017版本无法实现下拉图标UI效果,另外几个问题,可以通过代码定制尝试实现,参考这几篇帖子尝试:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=76339&extra=page%3D1
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=76344&extra=page%3D1
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=76347&extra=page%3D1 你好。你发的三个链接对我的帮助不是很大,可以像英文论坛一样提供一个DEMO给我吗? 您好,没有能直接实现您需求的Demo,自定义编辑器本质上就是把input组件嵌入到FlexGrid中,它们原本的事件都可以使用,给您发的几篇文章也是推荐您参考思路的。
页:
[1]