easyui datagrid 在不关闭行编辑情况下,更新行,更新单元格。
2017-10-21 00:00
806 查看
var tmpIndex = editIndexs[rewriteTableId]; //获取 主要的按钮对象 单元格 var ed = $(rewriteTableId).datagrid('getEditor', {index:tmpIndex,field:"FPROJECTNUMBER"}); $(ed.target).textbox('setValue', rowData.FPROJECTNUMBER); // 有editor的更新方法------------------------------------------------ $($(rewriteTableId).datagrid('getEditor', {index:tmpIndex,field:"FCREATEPROJECTID"}).target).textbox('setValue', rowData.FID); // 没有editor 的列,更新方法 --------选择按钮的列名---------------------------------要反写的字段列明------------------------弹窗 选择的 数据。 $(ed.target).parents("td[field='FPROJECTNUMBER']").siblings("td[field='FPROJECTNAME_L1']").find("div").html(rowData.FPROJECTNAME_L1); $(ed.target).parents("td[field='FPROJECTNUMBER']").siblings("td[field='FPROJECTNAME_L2']").find("div").html(rowData.FPROJECTNAME_L2); //更新页面div值并不会 更新datagrid 实体值,所以调用方法更新 var rows = $(rewriteTableId).datagrid("getRows"); var columns = $(rewriteTableId).datagrid("options").columns; for (i in columns[0]){ if(columns[0][i].field== "FPROJECTNAME_L1") rows[tmpIndex][columns[0][i].field] = rowData.FPROJECTNAME_L1; if(columns[0][i].field== "FPROJECTNAME_L2") rows[tmpIndex][columns[0][i].field] = rowData.FPROJECTNAME_L2; }
思路:
单元格有两种,一种是编辑控件的,一种是只显示的。
1、编辑控件获取编辑,当做textbox控件setValue即可。
2、只供显示的单元格,根据编辑控件对象,找到父节点的 兄弟节点,然后获取 显示字段的div,填入。
但是问题是,值修改页面元素,datagrid实体对象并没有更新数据,当关闭行,或获取数据时,是没有变的。所以用下面的columns 和rows去更新实体对象值。至于原理我也不太懂,就是起作用,好用。哈哈
相关文章推荐
- easyui datagrid 单元格编辑保存
- easyui datagrid 可编辑类型单元格-适当调整高度
- EasyUI_Datagrid上下键编辑行,锁定编辑单元格所在的列(二)
- EasyUI DataGrid 编辑单元格
- EasyUI DataGrid 编辑单元格
- easyui-datagrid 编辑单元格
- EasyUI DataGrid 编辑单元格
- easyui datagrid 单元格编辑保存
- EasyUI DataGrid 单元格编辑 注释版
- EasyUI DataGrid 编辑单元格
- easyui datagrid 单元格编辑(cell editing)
- EasyUI DataGrid可编辑单元格
- EasyUI Datagrid 单元格编辑
- EasyUI DataGrid 双击编辑单元格,保存并且后台数据改变
- 关闭编辑easyui datagrid table
- Easyui---datagrid编辑单元格及获取编辑前后数据
- easyui datagrid 单击编辑单元格
- Datagrid扩展方法onClickCell{easyui-datagrid-扩充-支持单元格编辑}
- WPF学习笔记——编辑DataGrid单元格并实时更新到数据库
- EasyUI DataGrid可编辑单元格