Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2012, 22:31   #1
prod
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 14
По умолчанию Отображение той или иной DataGridview в зависимости от выбора в TreeView

Есть у меня на форме элемент TreeView и в нем узлы Node1, Node2 и т.д. Также планирую сделать DataGridview1, DataGridview2 с привязкой к таблицам БД. Но как сделать, чтобы при выборе, например, Node1 отображался DataGridview1, при выборе Node2 отображался DataGridview3 и т.д? Это должно быть в одной форме. Если можно, скиньте пример кода, где это делается.
prod вне форума Ответить с цитированием
Старый 22.02.2012, 08:40   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Цитата:
при выборе, например, Node1 отображался DataGridview1, при выборе Node2 отображался DataGridview3
А зачем такие сложности?..
А так не вижу проблем выставляйте Visible=true или false. Выбор можно производить в switch. Но мне кажется, что это не выход. для каждого нового узла делать новую таблицу и наращивать switch?..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 22.02.2012, 10:40   #3
prod
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
А зачем такие сложности?..
А так не вижу проблем выставляйте Visible=true или false. Выбор можно производить в switch. Но мне кажется, что это не выход. для каждого нового узла делать новую таблицу и наращивать switch?..
Затем, чтобы по 100500 форм не создавать, а было бы что-то вроде меню.
prod вне форума Ответить с цитированием
Старый 22.02.2012, 11:01   #4
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Не проще ли сделать перенастройку одной таблицы(со сменой DataSource), чем скрывать, потом раскрывать?..
Можно сделать не через TreeList, а через вкладки(Tab). Или сделать через вкладки и к каждой вкладке привязать узел TreeList, тогда вообще ничего скрывать не надо будет.
Но раз хочется все делать ручками, то..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 22.02.2012, 11:32   #5
prod
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
Не проще ли сделать перенастройку одной таблицы(со сменой DataSource), чем скрывать, потом раскрывать?..
Скорее всего это и надо мне. Только, как это в коде будет?
prod вне форума Ответить с цитированием
Старый 22.02.2012, 11:43   #6
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Смотря как у Вас все организовано в программе. Если объекты одного типа и надо отображать одни и те же поля, то достаточно менять DataSource. Если объекты разные, то надо будет удалить все колонки, создать нужные, настроить, поменять источник данных. Сначала решите какие данные будут выводиться, потом выбирайте реализацию.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 22.02.2012, 12:18   #7
prod
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Скарам Посмотреть сообщение
Смотря как у Вас все организовано в программе. Если объекты одного типа и надо отображать одни и те же поля, то достаточно менять DataSource. Если объекты разные, то надо будет удалить все колонки, создать нужные, настроить, поменять источник данных. Сначала решите какие данные будут выводиться, потом выбирайте реализацию.
К примеру, есть 2 таблицы: у первой поля - id(int), name(varchar); у второй поля - id(int), f(varchar), i(varchar), o(varchar). Как это будет выглядетьв коде? Мне хотя бы пример какой-нибудь... Да и зачем источник данных менять ?
prod вне форума Ответить с цитированием
Старый 22.02.2012, 12:39   #8
sergei64_89
Форумчанин
 
Регистрация: 20.04.2008
Сообщений: 139
По умолчанию

если у вас дерево динамическое,то как по мне лучше создать класс наследованный от node и в нём определить свойство типа datatable,дальше при кликании на этом node считывать datatable и,как вам уже сказали,обновлять источник привязки у грида.
второй вариант по проще
объявить список datatable.и соответственно первому узлу(node) будет соответствовать первый элемент в списке и так далее
sergei64_89 вне форума Ответить с цитированием
Старый 22.02.2012, 14:30   #9
prod
Пользователь
 
Регистрация: 04.10.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от sergei64_89 Посмотреть сообщение
если у вас дерево динамическое,то как по мне лучше создать класс наследованный от node и в нём определить свойство типа datatable,дальше при кликании на этом node считывать datatable и,как вам уже сказали,обновлять источник привязки у грида.
второй вариант по проще
объявить список datatable.и соответственно первому узлу(node) будет соответствовать первый элемент в списке и так далее
Фиксированное количество узлов в этом дереве и количество таблиц из базы данных. Вы мне пример какой-нибудь скиньте, если не сложно. Я искал в инете, ничего такого адекватного не нашел, поэтому и спрашиваю.
prod вне форума Ответить с цитированием
Старый 22.02.2012, 14:53   #10
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Создай проект с демо базой, таблицей, treelist, узлами и т.д. Это сэкономит время и Вам, и нам.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание функций отображающих переданные им числа в той или иной системе исчисления(язык программирования "С"). Kirill Rus Помощь студентам 0 02.10.2011 16:02
Подстановка значений в зависимости от выбора из списка MihailBY Microsoft Office Excel 17 08.07.2010 00:21
Как отследить приложение которое использует тот или иной файл? pro100-delphi Общие вопросы Delphi 9 18.06.2010 01:19
Показ цены в зависимости от выбора из меню Anarchist666 JavaScript, Ajax 0 10.02.2010 20:17