找回密码
 立即注册

QQ登录

只需一步,快速开始

wss.

初级会员

49

主题

149

帖子

452

积分

初级会员

积分
452
wss.
初级会员   /  发表于:2020-6-22 17:01  /   查看:3281  /  回复:6
1金币
我现在需要对表格进行修改,例如我修改了第二行,我接着修改其他的,但是我需要知道我修改过哪些些数据,并在表格上显示出来,加粗改行或者改行文本变色,好让修改后直观的看到那些被修改

最佳答案

查看完整内容

事件里加个让步setTimeout即可,如代码所示: 地址: https://demo.grapecity.com.cn/wijmo/demos/Core/CollectionView/EditingViews/TrackingChanges/purejs

6 个回复

倒序浏览
最佳答案
最佳答案
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-6-22 17:01:39
来自 7#
事件里加个让步setTimeout即可,如代码所示:

  1. import 'bootstrap.css';
  2. import '@grapecity/wijmo.styles/wijmo.css';
  3. import './styles.css';
  4. import * as wijmo from '@grapecity/wijmo';
  5. import * as grid from '@grapecity/wijmo.grid';
  6. import { getData } from './data';
  7. document.readyState === 'complete' ? init() : window.onload = init;
  8. function init() {
  9.     // create a CollectionView with change tracking
  10.     let view = new wijmo.CollectionView(getData(), {
  11.         sortDescriptions: ['country'],
  12.         trackChanges: true
  13.     });
  14.     // create grid for editing
  15.     let theGrid = new grid.FlexGrid('#theGrid', {
  16.         itemsSource: view,
  17.         allowAddNew: true,
  18.         allowDelete: true
  19.     });
  20.     theGrid.cellEditEnded.addHandler(function(s,e){
  21.         setTimeout(function(){
  22.             console.log(view.itemsEdited);
  23.             console.log(view.itemsAdded);
  24.             console.log(view.itemsRemoved);
  25.         }, 1)
  26.     })
  27.     // create grids to show changes
  28.     let edited = new grid.FlexGrid('#edited', {
  29.         itemsSource: view.itemsEdited,
  30.         isReadOnly: true
  31.     });
  32.     let added = new grid.FlexGrid('#added', {
  33.         itemsSource: view.itemsAdded,
  34.         isReadOnly: true
  35.     });
  36.     let removed = new grid.FlexGrid('#removed', {
  37.         itemsSource: view.itemsRemoved,
  38.         isReadOnly: true
  39.     });
  40. }
复制代码


地址:

https://demo.grapecity.com.cn/wi ... ckingChanges/purejs
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-6-22 17:32:32
2#
你好,你的问题已经收到,正在处理,明天中午前给你回复。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-6-23 16:39:02
3#
你好,可以利用追踪修改的功能,判断出哪些数据被执行了修改:
https://demo.grapecity.com.cn/wi ... ckingChanges/purejs

然后可以在loadedRows事件中,判断数据所在行,然后执行css挂载:
https://demo.grapecity.com.cn/wi ... ows/Overview/purejs
回复 使用道具 举报
wss.
初级会员   /  发表于:2020-6-23 17:12:09
4#
本帖最后由 wss. 于 2020-6-23 17:33 编辑
KevinChen 发表于 2020-6-23 16:39
你好,可以利用追踪修改的功能,判断出哪些数据被执行了修改:
https://demo.grapecity.com.cn/wijmo/demo ...

我在编辑之后还会触发表格的loadedRows事件吗?一般来说只是设了一个setCellData方法,这样也会触发吗

ps:我刚修改了,的确不会触发
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-6-23 17:45:10
5#
其实编辑后也有对应的事件,如下:
https://demo.grapecity.com.cn/wi ... .html#celleditended
回复 使用道具 举报
wss.
初级会员   /  发表于:2020-7-14 11:52:58
6#
KevinChen 发表于 2020-6-23 17:45
其实编辑后也有对应的事件,如下:
https://demo.grapecity.com.cn/wijmo/api/classes/wijmo_grid.flexgri ...

这个事件不能确定自定义编辑的oldValue ,也就是做不到改变编辑内容后才改变当前单元格的颜色
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部