js
(function ($) {
$.fn.systemTables = function (options) {
var opts = $.extend({}, $.fn.systemTables.defaults, options);
$(this).dataTable({
bProcessing: true,
bServerSide: true,
bAutoWidth: false,//自动宽度
bSort: false, //排序功能
searching: false,
bLengthChange: true,
aLengthMenu: [10,20,30,40,50],
language: {
sLengthMenu: "每页显示 _MENU_ 条记录",
sZeroRecords: "对不起,查询不到任何相关数据",
sInfo: "当前显示 _START_ 到 _END_ 条,共 _TOTAL_ 条记录",
sInfoEmtpy: "找不到相关数据",
sInfoFiltered: "数据表中共为 _MAX_ 条记录",
sProcessing: "正在加载中...",
sSearch: "搜索",
sInfoEmpty: "显示 0 至 0 共 0 项",
oPaginate: { "sFirst": "第一页", "sPrevious": "上一页 ", "sNext": "下一页 ", "sLast": "末页 " }
},
paging: opts.paging,//是否分页
sPaginationType: 'full_numbers',
columns: opts.columns,
columnDefs: opts.columnDefs,
sAjaxSource: opts.url,
fnServerData: opts.myAjax,
});
};
//$.Reload = function () {
// $.fn.DataTable().ajax.reload();
//}
$.fn.systemTables.defaults = {
columns: [], //默认列
columnDefs: [], //列格式
paging: false,//是否分页
url: '', //地址
dataParam: {},//参数
successCallback: function (data) { },//查询完成回调函数
myAjax: function (sSource, aoData, fnCallback) {
}
};
})(jQuery);
页面加载 调用
var columns = [
{ data: "moduleId", title: "标识" },
{ data: "moduleName", title: "功能名称" },
{ data: "moduleUrl", title: "URL地址" },
{ data: "moduleZdy", title: "是否可自定义" },
{ data: "moduleId", title: "操作" }
];
var columnDefs = [
{
//最后一列
targets: columns.length - 1,
render: function (data, type, row, meta) {
var edit = '<button class="btn btn-info btn-sm" onclick="openModuleEdit(' + '\'' + row.moduleName + '\',' + '\'' + row.moduleUrl + '\'' + ',' + '\'' + row.moduleId + '\'' + ',' + '\'' + row.moduleZdy + '\'' + ')">' + '<i class="fa fa-pencil"></i></button>';
var del = '<button class="btn btn-danger btn-sm"onclick="del(' + row.moduleId + ')">' + '<i class="fa fa-trash-o"></i></button>';
return edit + del;
}
}
];
$(document).ready(function () {
var size = $('#myTable_lengthl');
$('#myTable').systemTables({
columns: columns,
url: '@Url.Action("ModuleTable", "SeniorManager")',
columnDefs: columnDefs,
paging: false,
myAjax: function (sSource, aoData, fnCallback) {
$.ajax({
type: 'post',
url: sSource,
data: {},
dataType: 'json',
success: fnCallback
});
}
})
$('#myTable').on('click', 'tr', function () {
$(this).toggleClass('selected');
$(this).smartMenu(imageMenuData, {
name: "image"
});
});
})
////页面刷新重载
function Page_reload() {
$('#myTable').DataTable().ajax.reload();
}