mtkj 发表于 2020-4-28 10:12:27

模糊搜索清空数据

mohu

KevinChen 发表于 2020-4-28 10:12:28

你好,默认情况下,FlexGrid会检查setCellData的数据类型,这导致了设置空值时失败,

可以用setCellData的后两个参数来跳出此限制,参考API:

https://demo.grapecity.com.cn/wijmo/api/classes/wijmo_grid.flexgrid.html#setcelldata

具体代码:

                  if (saveEdits) {
                        if (!wijmo.isUndefined(ctl['selectedItem'])) {
                            this._grid.setCellData(this._rng.row, this._rng.col, ctl['selectedItem'], false, false);
                        } else
                         if (!wijmo.isUndefined(ctl['value'])) {
                            this._grid.setCellData(this._rng.row, this._rng.col, ctl['value']);
                        } else if (!wijmo.isUndefined(ctl['text'])) {
                            this._grid.setCellData(this._rng.row, this._rng.col, ctl['text']);
                        } else {
                            throw 'Can\'t get editor value/text...';
                        }

                        this._grid.invalidate();
                  } // close editor and remove it from the DOM

修改添加位置:

src/CustomGridEditor.js 第281行

如图:

KevinChen 发表于 2020-4-28 16:10:53

您好,注意到你的代码,用了s.innerHTML来清空单元格内的“数据”,

其实这个操作清空的只是grid单元格中显示的dom元素,而不是数据源的数据,

要清空数据源的数据,可以用setCellData(row, col, ""),或者直接设置数据源中对应数据项的值为空,这样才能真正清除掉数据本身。

mtkj 发表于 2020-5-8 11:30:38

附件点击跟踪单就是模糊搜索的单元格

本帖最后由 mtkj 于 2020-5-8 11:36 编辑

KevinChen 发表于 2020-4-28 16:10
您好,注意到你的代码,用了s.innerHTML来清空单元格内的“数据”,

其实这个操作清空的只是grid单元格 ...

页: [1]
查看完整版本: 模糊搜索清空数据