Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывод информации в DataGridView, Вывод информации в DataGridView 
:(
    Опции темы
eon
  Дата 18.11.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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. Может чего посоветуете, что неправильно мыслю и т.д. и т.п.
PM MAIL   Вверх
jonie
Дата 18.11.2010, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 5
Всего: 118



Вариаты:
Во-первых MSSQL умеет AD.
Во-вторых - создайте просто класс, содержащий все ваши поля (DTO иначе говоря), сделайте в памяти BindingList<вашКласс>, заполните его ЧЕМ хотите и КАК хотите и просто установите DataSource у грида. Это делаете примерно так (см. фильм в аттаче).
....

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  Video_2010_11_18_224309.rar 577,04 Kb


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.