Какой редактируемый элемент управления я должен использовать для отображения моей таблицы в приложении vb.net? - PullRequest
0 голосов
/ 31 августа 2011

У меня есть таблица в Excel с тремя заголовками:

Название проекта

  • Название проекта, над которым я работаю.

Запрошенная роль

  • Должность / профессия сотрудника проекта.(пример: механик, менеджер, инженер)

Имя

  • Имя сотрудника.

Когда я нажимаю на имя человека, я хочу, чтобы появилась другая страница или вкладка (специфичная для этого человека), показывающая детали о нем, такие как его имя, должность, срок работы, какой проект они выполняют ... и т. Д.(аналогично профилю Facebook)

Когда я нажимаю на название проекта, я хочу, чтобы появилась другая страница или вкладка (специфичная для этого проекта), показывающая детали о нем, такие как требования, крайний срок, кто в настоящее время работаетна нем ... и т. д.

Кроме того, я хотел бы настроить два уровня доступа:

Менеджеры:

  • Людикто может добавлять новую информацию, но не изменять или удалять существующую информацию
  • (права только на запись)

Администраторы:

  • Люди, которые могут иметь полный доступ ко всей информации.
  • Все на высшем уровнедоступа.

Я не знаю, как мне поступить с отображением и / или организацией такого большого количества информации в приложении vb.net.Если бы кто-нибудь мог дать некоторые предложения относительно некоторых возможных макетов графического интерфейса, он был бы очень признателен!

Дополнительные детали:

  • Для конкретногостраницы, о которых я думал, используя элемент управления вкладками, но я хочу, чтобы я мог искать в списке проектов или имен, выбрать один, а затем отобразить страницу об этом.

  • Уровень доступа - наименьшее из моих беспокойств ... хотя это все еще беспокойство.


1 Ответ

1 голос
/ 01 сентября 2011

Вы не хотите хранить эту информацию в таблице 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.Есть несколько способов сделать это, вам придется решить, какой из них лучше всего подходит для ваших нужд.Я большой поклонник DataSets, они всегда хорошо работают.

Чтобы заполнить сетку, вам нужно использовать оператор 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 для использования таблицы данных, которую вы только что заполнили, и данные должны отобразиться.

Чтобы отобразить связанную информацию о сотруднике и проекте, я бы использовал элемент управления вкладкой под сеткой данных.Одна вкладка для проекта и одна вкладка для сотрудника.Используйте отдельные элементы управления для каждого поля в таблице.Когда пользователь изменяет строки в сетке данных, загрузите соответствующую информацию о проекте и сотруднике для этой строки в две таблицы данных и заполните соответствующие элементы управления.

Наконец, чтобы установить разрешения для программы, вам необходимо иметьВход сотрудника в приложение.После того, как они вошли в систему, вы можете найти их в таблице Employee, выяснить, являются ли они администратором или администратором, и соответственно установить разрешения.

...