我在Excel中有一个带有三个标题的电子表格:
项目名称
请求的角色
名称
当我点击个人姓名时,我想要另一个页面或标签(特定于此人)显示有关他们的详细信息,例如他们的姓名,职位,他们工作的时间,他们正在做的项目......等等。(类似于Facebook个人资料)
当我点击项目名称时,我想要显示另一个页面或标签(特定于此项目),显示有关它的详细信息,例如要求,截止日期,当前正在处理的人员......等等。
此外,我想设置两个访问级别:
管理者:
管理员:
我不知道如何在vb.net应用程序中显示和/或组织这么多信息。如果有人能就GUI的某些可能布局提供一些建议,我们将不胜感激!
其他详细信息:
对于特定页面,我正在考虑使用选项卡控件,但我想要它,以便我可以搜索项目或名称列表,选择一个,然后它会显示有关它的页面。
访问级别是我最不担心的......虽然仍然令人担忧。
答案 0 :(得分:1)
您不希望将该信息存储在Excel电子表格中,数据库要好得多。对于您在此处描述的内容,我将假设您拥有项目和员工,并且多个员工可以处理项目。那你需要几张桌子:
Project
ProjectSeq 'Int - unique sequence for this project record
Name 'String - name of project
Descr 'String - description of project
... 'Various - other fields as needed
Employee
EmployeeSeq 'Int - unique sequence for this employee record
Name 'String - Name of employee
Title 'String - Job title of this employee
IsManager 'Boolean - Is this employee a manager?
IsAdmin 'Boolean - Is this employee an administrator?
... 'Various - other fields as needed
ProjEmpl
ProjEmplSeq 'Int - unique sequence for this project-employee record
ProjSeq 'Int - link to project record
EmployeeSeq 'Int - link to employee record
... 'Various - other fields that apply to this project-employee combination
一旦您的表全部设置并填充了数据,您将需要读取数据并将其传输到.NET应用程序。有几种方法可以做到这一点,你必须决定哪种方法最适合你的需要。我是DataSet的忠实粉丝,他们总能很好地工作。
要填充网格,您需要使用一个sql语句来填充三个表中的数据表(我使用记事本作为我的IDE,所以这可能不准确):
SELECT pe.*, p.Name as ProjName, e.Name as EmplName, e.Title
FROM ProjEmpl pe, Project p, Employee e
WHERE p.ProjectSeq = pe.ProjectSeq AND
e.EmployeeSeq = pe.EmployeeSeq
要向最终用户显示数据,您将使用DataGridView控件。设置datagrid.DataSource以使用刚刚填充的数据表并显示数据。
显示相关员工&项目信息,我在数据网格下面使用了一个标签控件。 Project的一个选项卡,Employee的一个选项卡。对表中的每个字段使用单独的控件。当用户更改datagrid中的行时,将该行的相关Project和Employee信息加载到两个数据表中,并从中填充控件。
最后,要设置程序权限,您需要让员工登录到应用程序。登录后,您可以在员工表中查找,查看他们是经理还是管理员,并相应地设置权限。