Easy前端正确删除datagrid的方式(避免直接删除索引没更新问题)

来源:互联网 发布:头发油 知乎 编辑:程序博客网 时间:2024/06/06 13:43
$('#selectGridId').datagrid({url : url,//地址发送对应类型试卷idtoolbar : '#toolbar',pagination : false,pageSize : 10,pageList : [ 10, 20, 50 ],fit : true,nowrap : false,border : false,idField : 'id',rownumbers : true,//单击事件   //onClickRow : onClickRowFuc,onLoadSuccess : function() {},frozenColumns : [ [ {title : 'id',field : 'id',checkbox : true}, {title : '题干',field : 'tg',width : '30%',align : 'left',resizable : true,sortable : false}, {title : '操作',field : 'caozuo',width : '9%',align : 'left',resizable : true,sortable : false,formatter: function(value, row, index) {            var delHtml = "<a title='删除' class='tx_red' onclick='javascript:deleteRightGridRow(\"" + row.id + "\",event);' href='javascript:void(0);'>删除</a>";            return delHtml;        }}] ]});//正确删除方法function deleteRightGridRow(rowId){var datas = $('#selectGridId').datagrid('getData');for(var i=0;i<datas.rows.length;i++){    if(datas.rows[i].id==rowId){//数据中的id和渲染时的id相等    //通过传入的id值查询到对应的记录,在获取实际的Index,这样去删除,(直接传入渲染好的索引值会出现错误)  var rowIndex = $('#selectGridId').datagrid('getRowIndex',datas.rows[i]);   $('#selectGridId').datagrid('deleteRow', rowIndex);   return;} } }