技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 前端开发 > javascript > 正文

easyui datagrid 更改单元格值后getChanges无法获取

来源: 技术CTO 阅读:

一个可编辑的datagrid,有如下测试代码


var updateRows = $('#dg_Cznr').datagrid('getChanges', 'updated');
if (updateRows.length > 0) {
            for (var i = 0; i < updateRows.length; i++) {
                var aaa = updateRows[i];
                alert(aaa["SortIndex"]+"---"+aaa["Fxh"]);
            }
        }

在单元格中编辑,执行上述代码可以获取已更新的行。

但是现在在onClickCell中加入了一段代码,用于更改单元格的值

if (field == "Fxh") {
                            var row = $('#dg_Cznr').datagrid('getRows')[index];
                            if (row.Fxh != "*")
                                row.Fxh = "*";
                            else
                                row.Fxh = "1";
                            $('#dg_Cznr').datagrid('refreshRow', index);
                        }


测试发现refreshRow虽然更改了数据及单元格内容,但是getChanges却获取不到已更新的行。
你更新完之后需要执行以下acceptChanges这个方法,才能让easyui知道值已经更新过

具体参考她的
acceptChanges之后无论怎样操作getChanges都获取不到内容的。
我也遇到此问题,用updateRow时 无法通过getchanges获取更新的行 楼主怎么解决的
引用 4 楼 progsky 的回复:
我也遇到此问题,用updateRow时 无法通过getchanges获取更新的行 楼主怎么解决的


没办法,只能在onClickCell更改值得时候记录下被更改的行,然后再合并入updateRows
我也遇到呀。

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^