有很多園友常常問我程序有沒有更新,真的很抱歉,最近由於工做緣由一直很忙,致使程序有很長時間都沒有更新了,首先在這裏感謝關心俺的朋友們。數據庫
這幾天好好看了一下原來的程序,還有不少地方須要改進,好比操做數據庫的方式、權限、報表等等,數據庫與報表下一步逐步進行更新,先將權限再細化一點兒,精確到操做按鈕上面,原本想在菜單下面跟着添加按鈕權限的,這樣的話看上去直觀一些,以下圖所示:this
可是在開發過程當中遇到了幾個比較棘手的問題,若是要整理出來的話改動的地方會不少,因此暫時我將按鈕權限提出來了,固然這個功能是如出一轍的,數據也都是從數據庫提取出來的,只是在視覺上面感受有點遺憾。
下圖所示:當前用戶對「菜單信息設置」只有查看的權限,沒有其它操做權限,spa
如今給它分配操做的權限,以下圖:3d
而後在頁面的Load裏面增長了如下代碼:code
/// <summary> /// 根據權限列表裏面的信息,來決定用戶具體有哪些操做權限。 /// </summary> void SetButton() { DataTable dt_SetButton = new DataTable(); dt_SetButton = new sys_RoleManager().GetUserRoleByUserID("1", allenSingleton.UserID); if (dt_SetButton.Rows.Count > 0) { DataTable dt_New = new DataTable(); dt_New = dt_SetButton.Clone(); //這一步其實能夠直接從數據庫查詢出來,若是放在存儲裏面完成的話也須要另外添加一個FunctionName的參數 //因此就在程序裏面從Table裏面Select一下。 DataRow[] dr = dt_SetButton.Select("FunctionName='菜單資料設置'"); for (int i = 0; i < dr.Length; i++) { dt_New.ImportRow((DataRow)dr[i]); } if (dt_New.Rows[0]["AddID"].ToString() != "") { this.tsCreate.Enabled = true; } if (dt_New.Rows[0]["DeleteID"].ToString() != "") { this.tsDelete.Enabled = true; } if (dt_New.Rows[0]["UpdateID"].ToString() != "") { this.tsChange.Enabled = true; } if (dt_New.Rows[0]["PrintID"].ToString() != "") { this.tsPrint.Enabled = true; } } }
從下圖能夠看到當前用戶已經能夠對「菜單信息設置」進行刪除和打印了blog
對應的操做ID都是保存在數據庫,操做類型也是動態從數據庫讀取的。開發
最近事情太多了,等沒這麼忙了以後好好整理一下。io