天天看點

【第一篇】說說MVC+EF easyui dataGrid 動态加載分頁表格

首先上javascript的代碼

<script type="text/javascript">

    $(function () {
        LoadGrid();
    })

    //加載表格!!!
    function LoadGrid() {
        $('#roleGrid').datagrid({
            width: 900,
            striped: true,   //交替條紋
            fitColumns: true,   //防止水準滾動
            fit: true,//自動補全 
            iconCls: "icon-save",//圖示  
            idField: 'RoleId',  //唯一列
            url: "GetRoles",
            dataType: "json",
            singleSelect: true,  //設定為true将隻允許選擇一行
            loadMsg: '正在拼命加載,請稍後...',
            rownumbers: false,   //顯示行數
            pagination: true,  //底部分頁工具欄  
            nowrap: true,   //截取超出部分的資料
            checkOnSelect: true,//點選一行的時候 checkbox checked(選擇)/unchecked(取消選擇)
            pageNumber: 1,//初始化分頁碼。
            pageSize: 10,  //初始化每頁記錄數。
            pageList: [5, 10, 30],   //初始化每頁記錄數清單
            showFooter: false,  //定義是否顯示行底
            columns: [[
         { field: "RoleId", title: "角色編号", width: 60, align: "center", sortable: "true" },
         { field: "RoleName", title: "角色名稱", width: 100, align: "center" },
         { field: "RoleRemarks", title: "備注", width: 100, align: "center" },
         {
             field: "IsStatus", title: "狀态", width: 60, align: "center", formatter: function (value, row, index) {
                 if (value == "0") {
                     return "正常";
                 } else if (value == "1") {
                     return "停用";
                 }
             }
         },
         {
             field: "edit", title: "操作", align: "center", width: 80, formatter: function (value, row, index) {
                 var detail = '<a style="padding:1px;color:black;" οnclick="editRole(' + index + ')"><i class="fa  fa-edit"></i>編輯</a>';
                 var deleteBtn = '<a style="color:black;" οnclick="delRole(' + index + ')"><i class="fa  fa-trash-o"></i>删除</>';
                 var setrole = '<a style="color:black;" οnclick="setRights(' + index + ')"><i class="fa  fa-exclamation-triangle"></i>設定權限</>';
                 return "&nbsp;&nbsp;" + detail + "&nbsp;|&nbsp;" + deleteBtn + "&nbsp;|&nbsp;" + setrole;
             }
         }
            ]] //列
        });
    };

    function editRole(i) { //編輯按鈕的方法
        var rows = $("#roleGrid").datagrid("getRows");
        layer.open({
            title: false,
            type: 2,
            closeBtn: false,
            area: ['420px', '418px'],
            skin: 'layui-layer-rim', //加上邊框
            content: ['/Admin/ShowForm/EidtRole', 'no'],
            success: function (layero, index) {
                var body = layer.getChildFrame('body', index);
                body.contents().find("#roleId").val(rows[i].RoleId);
                body.contents().find("#roleName").val(rows[i].RoleName);
                if (rows[i].RoleRemarks != "-") {
                    body.contents().find("#remarks").val(rows[i].RoleRemarks);
                }
                body.contents().find("#isstutas").val(rows[i].IsStatus);
            }
        });
    }

    function delRole(i) {  //删除使用者
        var rows = $("#roleGrid").datagrid("getRows");

        var postData = {
            roleId: rows[i].RoleId
        };

        layer.confirm('确認删除該角色?', {
            btn: ['确認', '取消'], //按鈕
            shade: false //不顯示遮罩
        }, function (index) {
            $.ajax({
                type: "POST",
                url: "DeleRole",
                data: postData,
                success: function (result) {
                    if (result == "true") {
                        layer.msg("操作成功!", {
                            icon: 6,
                            time: 1000,
                        }, function () {
                            $("#roleGrid").datagrid("reload");
                            layer.close(index);
                        });
                    } else if (result == "false") {
                        layer.msg("操作失敗!", { icon: 2 });
                    } else if (result == "msg") {
                        layer.msg("系統錯誤,請聯系管理者!", { icon: 0 });
                    }
                }
            });
        }, function (index) {
            layer.close(index);
        });
    }
      

然後是html

<table id="roleGrid"> </table>      

最後是控制器的方法(這一部分是最重要的,表格能否顯示資料,全看這一部分)

/// <summary>
        /// 動态生成表格的資料
        /// </summary>
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public JsonResult GetRoles(int? page, int? rows)
        {
            page = page == null ? 1 : page; //第幾頁
            rows = rows == null ? 1 : rows; //行數
            List<role> rList = rService.GetAllRoles(Convert.ToInt32(page), Convert.ToInt32(rows));
            List<role> roleList = new List<role>();
            for (int i = 0; i < rList.Count; i++)
            {
                role r = new role();
                r.RoleId = rList[i].RoleId;
                r.RoleName = rList[i].RoleName;
                if (string.IsNullOrEmpty(rList[i].RoleRemarks))
                {
                    r.RoleRemarks = "-";
                }
                else
                {
                    r.RoleRemarks = rList[i].RoleRemarks;
                }
                r.IsStatus = rList[i].IsStatus;
                roleList.Add(r);
            }
            var json = new
            {
                total = rService.GetTotal(),
                rows = roleList
            };
            return Json(json, JsonRequestBehavior.AllowGet);
        }      

最後的最後是控制器相關的方法

/// <summary>
        /// 分頁的資料
        /// </summary>
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public List<role> GetAllRoles(int page, int rows)
        {
            using (diamondEntities entity = new diamondEntities())
            {
                IQueryable<role> role = entity.roles.OrderBy(a => a.RoleId).Skip((page - 1) * rows).Take(rows);
                List<role> roleList = role.ToList<role>();
                if (roleList.Count > 0)
                {
                    return roleList;
                }
                else
                {
                    return null;
                }
            }
        }


        /// <summary>
        /// 擷取總頁數
        /// </summary>
        /// <returns></returns>
        public int GetTotal()
        {
            using (diamondEntities entity = new diamondEntities())
            {
                IQueryable<role> user = entity.roles.Select(m => m);
                List<role> userList = user.ToList();
                return userList.Count;
            }
        }      

持續關注我吧,最近項目緊,我還是會把碰見的東西寫出來的。

--------------------------------------------------------------------------------------------------------- 

轉載請記得說明作者和出處哦-.-

作者:KingDuDu

原文出處:http://www.cnblogs.com/kingdudu/p/4742111.html

---------------------------------------------------------------------------------------------------------

轉載于:https://www.cnblogs.com/kingdudu/p/4742111.html

繼續閱讀