65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 DataSet 在 WinForm 应用程序中动态构建 MainMenu

2004 年 2 月 12 日

2分钟阅读

viewsIcon

121326

downloadIcon

3038

在 WinForm 应用程序中使用 DataSet 动态构建 MainMenu。

Sample Image - DynamicMenuDataSet.jpg

目录

介绍

本文演示了如何根据给定的登录用户,通过数据库形成主菜单。在这里,我给出了表模型和菜单形成方法。与上一篇讨论在运行时生成 XML 驱动菜单的文章一样,本文重点介绍通过 DataSet 构建菜单。

为了演示目的,我在运行时创建了 DataSet

菜单级别安全

我们可以通过菜单为用户提供对特定屏幕或操作的权限,当应用程序正在加载时。例如,用户可以使用哪些菜单。

菜单级别安全的流程

下图显示了这种安全模型的流程。

Flow

表设计

请参阅下面的表设计,我添加了一列 USERID。我设计此表用于演示目的。因此,我并不关心规范化。您可以设计您的表模型,但 SQL 查询输出应该像 MenuID, MenuName, MenuParent, EnableUSERID 格式。

Table

登录表单

请参阅下面的登录表单,您可以在此处选择一个用户。

Login

菜单设计

菜单将显示为 USERID='DEMO'

DEMO

对于 USERID='AMAL'

AMAL

递归方法

一个递归方法 CreateMenuItems 已用于创建所有菜单项。我已经稍微修改了 CreateMenuItems 以使用 DataSet

Code

结论

我认为这展示了如何通过数据库在 MainMenu 中实现安全性,非常感谢任何帮助和/或评论!

许可证

本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。

作者可能使用的许可证列表可以在此处找到。

© . All rights reserved.