問題 :取不到數據行的主鍵
要綁定的數據字段 RoleId rolename adddate RoleId 為主鍵是唯一的
bootstraptable的配置
-
uniqueId: "RoleId", //每一行的唯一標識,一般為主鍵列
-
columns: [
{
field: 'RoleId',
checkbox: true,align: 'center', valign: 'middle' },{ width: "100px", field: 'operate', title: '操作', events: operateEvents, formatter: function(value, row, index) { return '<a href="javascript:void(0);" >修改</a> ' + '<a href="javascript:void(0);" class="remove" >刪除</a> '; } }
-
window.operateEvents =
{'click .remove': function (e, value, row, index) { alert('You click like action, row: ' + parseInt(row.RoleId)); } };
配置說明
1 operate是冗余的屬性,如果設置為roleid會導致頁面的table變形
問題現象
當點擊刪除按鈕的時候,row.RoleId的值取不到。 雖然RoleId是唯一的,也確實有值。
解決
- uniqueId: "Id", //設置為Id比較可靠,別的名字容易出問題
- idField: "RoleId", 可以通過種方式設置主鍵
function responseHandler(res) {
var resultStr = $.parseJSON(res);
if (resultStr.TotalItems >0) {
$("#tr_NoRS").parent().remove();
}
$.each(resultStr.Items, function (i, row) {
row.operate = "";
row.Id = row.RoleId;
});
return {
"rows": resultStr.Items,
"total": resultStr.TotalItems
};
}
- 通過這種方式對返回的數據(要綁定到table的數據)進行處理,添加不存在的Id屬性和operate屬性
最后測試下效果
window.operateEvents = {
'click .remove': function (e, value, row, index) {
alert('You click like action, row: ' + parseInt(row.Id));
}
};
正確彈出了RoleId 的值。 曲線救國啊。