我应该用什么编辑控件在vb.net应用程序中显示我的电子表格?

时间:2011-08-31 19:11:15

标签: vb.net excel user-interface spreadsheet

我在Excel中有一个带有三个标题的电子表格:

  

项目名称

  • 我正在处理的项目的名称。
  

请求的角色

  • 项目员工的职称/职业。 (例如:机械师,经理,工程师)
  

名称

  • 员工的姓名。

当我点击个人姓名时,我想要另一个页面或标签(特定于此人)显示有关他们的详细信息,例如他们的姓名,职位,他们工作的时间,他们正在做的项目......等等。(类似于Facebook个人资料)

当我点击项目名称时,我想要显示另一个页面或标签(特定于此项目),显示有关它的详细信息,例如要求,截止日期,当前正在处理的人员......等等。

此外,我想设置两个访问级别:

  

管理者:

  • 可以添加新信息但不能更改或删除现有信息的人
  • (只写权限)
  

管理员:

  • 可以完全访问所有信息的人。
  • 所有最高级别的访问权限。

我不知道如何在vb.net应用程序中显示和/或组织这么多信息。如果有人能就GUI的某些可能布局提供一些建议,我们将不胜感激!

其他详细信息:

  • 对于特定页面,我正在考虑使用选项卡控件,但我想要它,以便我可以搜索项目或名称列表,选择一个,然后它会显示有关它的页面。

  • 访问级别是我最不担心的......虽然仍然令人担忧。


1 个答案:

答案 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信息加载到两个数据表中,并从中填充控件。

最后,要设置程序权限,您需要让员工登录到应用程序。登录后,您可以在员工表中查找,查看他们是经理还是管理员,并相应地设置权限。