javascript - Slickgrid onChange 不保留单元格 CSS 样式

标签 javascript slickgrid

我根据该行特定列中的下拉菜单动态更改各个单元格的 CSS 样式。单元格改变颜色没有问题,但是当我转到下一行并做同样的事情时......上一行恢复到原始默认值并丢失应用的 css

    "onCellChange" : function(e, args){
     var fooCells = {}; 

    if(args.cell == this.grid.getColumnIndex("test")){
        if(args.item.test == 0 || args.item.test == 1 ){
            if (!fooCells[args.row]) {
                fooCells[args.row] = {};
            } 
            fooCells[args.row][this.grid.getColumns()[this.grid.getColumnIndex("testNumber1")].id] = "slick-test-grayBoxes";
            fooCells[args.row][this.grid.getColumns()[this.grid.getColumnIndex("testNumber2")].id] = "slick-test-grayBoxes";
            this.grid.setCellCssStyles("grayBoxes", fooCells);



            this.dataview.updateItem(args.item.id, args.item);
            this.grid.invalidate();
        }

        if(args.item.test == 2 || args.item.test == 3 ){
            if (!fooCells[args.row]) {
                fooCells[args.row] = {};
            } 
            fooCells[args.row][this.grid.getColumns()[this.grid.getColumnIndex("testNumber2")].id] = "slick-test-grayBoxes";
            fooCells[args.row][this.grid.getColumns()[this.grid.getColumnIndex("testNumber3")].id] = "slick-test-grayBoxes";
            this.grid.setCellCssStyles("grayBoxes", fooCells);



            this.dataview.updateItem(args.item.id, args.item);
            this.grid.invalidate();
        }

    }
    this.grid.invalidateAllRows();
    this.grid.render();
}

最佳答案

在函数的最后,当你调用 this.grid.invalidateAllRows();它会清除您应用的 css 样式。看起来您一次只执行一行 - 尝试 grid.invalidateRow();反而。您可能需要执行 grid.invalidateRow(args.item.ID);

关于javascript - Slickgrid onChange 不保留单元格 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912332/

相关文章:

javascript - 我可以在生成器中使用 ES6 的箭头函数语法吗? (箭头符号)

javascript - 带有印度字符的正则表达式

jquery - 是否可以通过编程方式更改 slickgrid 中列的宽度?

javascript - Slick Grid 中的数据更新

jquery - SlickGrid 在鼠标悬停时更改行背景颜色

javascript - 在 SlickGrid 中设置默认排序列

javascript - Bootstrap 模式不能按预期与 JS 一起工作

javascript - 我的光滑 slider 旋转木马有一个额外的白色幻灯片。有什么办法可以摆脱它?

javascript - 如何short typeof 表达式?

jquery-ui - jQuery UI 主题冲突 : SlickGrid and jQuery UI Tabs