![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| eon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Задача следующая:
Есть бд в MS SQL. База данных для заявок внутри предприятия. Ну типа helpdesk система. Есть таблицы: Requests (сами завки), Files (таблица для прикрепления файлов к заявкам), Naimenovanie (справочник наименований проблем), Utochnenie (Справочник уточнений для Наименований), и т.д.. Есть база пользователей в домене - Active Directory. Таблица Request: 1. id - номер заявки, 2. user_guid - глобальный уникальный номер пользователя в Active Directory, 3. naimenovanie_id - номер наименования из справочника Naimenovanie, 4. utochnenie_id - номер уточнения из справочника Utochnenie, 5. status_id - текущий статус заявки из справочника Status, 6. time_voznik_id - время возникновения проблемы из справочника Time_voznik, 7. podrobnoe_opisanie – подробное описание проблемы, 8. administrator_guid – глобальный уникальный номер пользователя, являющегося членом группы Administrators Request, в Active Directory, 9. comment – комментарий, оставленный к заявке. 10. time_ustr_id – желаемое время устранения из справочника Time_ustr. Ну еще некоторые поля, к делу пока не относящиеся. Вот так вот. Это основная таблица БД. Что я хочу видеть в DataGridView? Следующие столбцы: (причем всё буду писать программно, ручками) 1. Номер заявки – id заявки из таблицы Request (databound column); 2. Имя О. Фамилия пользователя – из Active Directory по user_guid из таблицы Requests(unbound column); 3. Отдел – из Active Directory по user_guid(unbound column); 4. Должность – из Active Directory по user_guid(unbound column); 5. Почтовый адрес – из Active Directory по user_guid(unbound column); 6. Телефон – из Active Directory по user_guid(unbound column); 7. Время поступления заявки - из таблицы Request (databound column); 8. Наименование проблемы – поле name из таблицы Naimenovanie по naimenovanie_id из таблицы Requests (не знаю databound column или unbound column, если будет браться из другой таблицы); 9. Уточнение уточнение - поле name из таблицы Utochnenie по utochnenie_id из таблицы Requests (не знаю databound column или unbound column); 10. Текущий статус заявки - поле name из таблицы Status по status_id из таблицы Requests (не знаю databound column или unbound column); 11. Время возникновения проблемы - поле name из таблицы Time_voznik по time_voznik_id из таблицы Requests (не знаю databound column или unbound column); 12. Подробное описание проблемы – из поля podrobnoe_opisanie из таблицы Requests (databound column); 13. Назначенный исполнитель - Имя О. Фамилия администратора из Active Directory по administrator_guid из таблицы Requests(unbound column); 14. Количество файлов – количество файлов прикрепленных к заявке из таблицы Files по request_id количество (unbound column); И т.д. Предположим, есть такая запись в таблице Requests: Id 34 User_guid 37856-3459-а4536-р545-456 Naimenovanie_id 3 Utochnenie_id 36 Status_id 2 Time_voznik_id 3 podrobnoe_opisanie – При включении компьютера появляется ошибка 0х4574404. administrator_guid – 5н6846-45764-45645-4564-арпа comment – Ирина В. Петрова (13.10.10 12:34:30): Помогите пожалуйста. time_ustr_id – 4 Я хочу чтобы в датагридвью1 вывелось: | 34 | Ирина В. Петрова | Отдел контроля качества | Экономист | [email protected] | 2020 | 13.10.10 12:34:30 | Проблемы с компьютером | Компьютер не загружается | В очереди | Вчера | При включении компьютера появляется ошибка 0х4574404. | Иван И. Иванов | 3 | Уже написал программу и тестовую БД, всё работает хорошо. Но при проектировании БД не связывал таблицы. То есть таблица Request содержит в основном много текста, а надо бы, чтобы id-шники содержала. Впервые разрабатываю реальную БД. Возможно, что-то неправильно. Так вот вопросы: 1. Обязательно ли назначать всякие там внешние ключи для вывода информации из таблиц в одну datagridview? Как это делается? 2. Может чего посоветуете, что неправильно мыслю и т.д. и т.п. |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
Вариаты:
Во-первых MSSQL умеет AD. Во-вторых - создайте просто класс, содержащий все ваши поля (DTO иначе говоря), сделайте в памяти BindingList<вашКласс>, заполните его ЧЕМ хотите и КАК хотите и просто установите DataSource у грида. Это делаете примерно так (см. фильм в аттаче). .... Присоединённый файл ( Кол-во скачиваний: 11 )
Video_2010_11_18_224309.rar 577,04 Kb-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |