Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SlickGrid单元格样式在排序时丢失_Javascript_Css_Slickgrid - Fatal编程技术网

Javascript SlickGrid单元格样式在排序时丢失

Javascript SlickGrid单元格样式在排序时丢失,javascript,css,slickgrid,Javascript,Css,Slickgrid,在对SlickGrid中的行进行排序时,它们似乎都被销毁并重新创建,从而丢失了可能在运行时添加的CSS类 例如,我希望“脏”行(即,已编辑但尚未保存的行)((我不自动提交,但使用网格上的“保存”按钮保存数据))以不同方式显示,特别是显示“脏”图标 因此,当一行“脏”时,它的一个单元格(图标列)将获得一个CSS类来显示正确的图标。但是,当对行进行排序时,这将丢失。有没有办法避免在排序上创建全新的行?还是用另一种方法来完成这项任务 谢谢 SlickGrid明确禁止直接操作它创建的DOM元素,编辑器除

在对SlickGrid中的行进行排序时,它们似乎都被销毁并重新创建,从而丢失了可能在运行时添加的CSS类

例如,我希望“脏”行(即,已编辑但尚未保存的行)((我不自动提交,但使用网格上的“保存”按钮保存数据))以不同方式显示,特别是显示“脏”图标

因此,当一行“脏”时,它的一个单元格(图标列)将获得一个CSS类来显示正确的图标。但是,当对行进行排序时,这将丢失。有没有办法避免在排序上创建全新的行?还是用另一种方法来完成这项任务


谢谢

SlickGrid明确禁止直接操作它创建的DOM元素,编辑器除外。如果需要使用CSS类装饰单元格/行,请使用SlickGrid提供的API(自定义格式化程序、行/单元格元数据、addCellCssStyles等)来完成。这样,它们将在重新渲染时保持不变。

好吧,也许我这里遗漏了什么。但即使我在“icon”列中使用AddCellCSSSStyles和样式行0来正确显示。然后,我排序。第0行(第一行)不会仍然被设置样式。当我想要设置样式的行(即“脏”行)现在是第4行时,不再具有正确的样式?对。这是SlickGrid数据抽象的一个副作用。爱它或恨它,但这是允许其灵活性的基础架构。网格本身不知道唯一标识的数据元素,只知道行。当您对数据重新排序时,您所做的只是更改网格看到的“行”,并告诉它重新渲染。在网格上设置的所有样式和选择仍在“行”上运行,因此需要重新映射它们。请看示例4,了解如何进行选择重新映射。