WinForm開發架構【微調權限至操作按鈕】

來源:互聯網
上載者:User

標籤:winform   style   class   blog   c   code   

  有不少園友經常問我程式有沒有更新,真的很抱歉,最近因為工作原因一直很忙,導致程式有很長時間都沒有更新了,首先在這裡感謝關心俺的朋友們。

  這幾天好好看了一下原來的程式,還有很多地方需要改進,比如操作資料庫的方式、許可權、報表等等,資料庫與報表下一步逐步進行更新,先將許可權再細化一點兒,精確到操作按鈕上面,本來想在菜單下面跟著添加按鈕許可權的,這樣的話看上去直觀一些,如所示:

但是在開發過程中遇到了幾個比較棘手的問題,如果要整理出來的話改動的地方會很多,所以暫時我將按鈕許可權提出來了,當然這個功能是一模一樣的,資料也都是從資料庫提取出來的,只是在視覺上面感覺有點遺憾。
所示:目前使用者對“菜單資訊設定”只有查看的許可權,沒有其它操作許可權,

現在給它分配操作的許可權,如:

然後在頁面的Load裡面增加了以下代碼:

/// <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;                }            }        }

從可以看到目前使用者已經可以對“菜單資訊設定”進行刪除和列印了

對應的操作ID都是儲存在資料庫,操作類型也是動態從資料庫讀取的。

最近事情太多了,等沒這麼忙了之後好好整理一下。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.