你好,实际上在本帖的示例中,你的combobox中展示的是一个json对象,而不是普通的字符串,所以在CustomGridEditor 的174行处不能用this._ctl['text'] 赋值,而应该用
this._ctl['selectedItem'] 赋值对应的item,参考代码:
- /*
- 展开后把值回填
- */
- if (!wijmo.isUndefined(this._ctl['text'])) {
- // Combobox下拉的item是json对象,需要通过selectedItem设置
- let cellData = grid.getCellData(this._rng.row, this._rng.col, true);
- let selectedItem = null;
- this._ctl.itemsSource.forEach(function(item){
- if(item && item.cText && item.cText == cellData){
- selectedItem = item;
- }
- })
- if(selectedItem){
- this._ctl['selectedItem'] = selectedItem;
- }else{
- this._ctl['text'] = cellData;
- }
- } else {
- throw 'Can\'t set editor value/text...';
- }
复制代码 |