Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513

Варианты реализации сложного контрола

03.03.2024, 18:22. Показов 858. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Может подскажет кто, как можно построить такой сложный интерфейс.

Смысл в том, что есть некая БД Acess. Нужно открыть файл БД в программе и произвести вычисления которые необходимо отобразить в виде сводной таблицы. Сложность самого интерфейса в том, что строки могут сворачиваться и разворачиваться. Также с помощью горячих клавиш можно копировать/ вставлять, удалять данные в ячейках. Подсвечивать их. Данные можно фильтровать. От фильтров зависит то как данные отображаются в таблице.

Обычный DataGridView такое не сможет.

Может быть можно как то упростить такой интерфейс или есть какие либо библиотеки. Сам контрол таблицы получается какой то excel like, т.е. очень сложный.

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2024, 18:22
Ответы с готовыми решениями:

Управление событиями одного контрола через события другого контрола
Уважаемые форумчане помогите решить проблему. Есть два компонента на форме: checkBox и dataGridView, у dataGridView есть событие по щелчку...

Варианты реализации NodeTreeView
Добрых времени суток. Необходимо создать интерфейс, как на скриншоте. Собственно интересует вопрос о плавной прорисовке линий связи при...

Парсинг строки. Варианты реализации
На входе метод получает строку типа "1 ч. 36 мин.", на выходе "1:36" Метод плохо расширяемый и совсем не радует глаз :no: private...

15
03.03.2024, 19:08  [ТС]

Не по теме:

Это рили так сложно что уже 73 просмотра и ни одного коммента?(

0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3429 / 2748 / 575
Регистрация: 04.09.2018
Сообщений: 8,626
Записей в блоге: 3
04.03.2024, 00:39
Цитата Сообщение от worldandlife Посмотреть сообщение
73 просмотра и ни одного коммента
Да хоть 273. Из них, от силы 1-2 человека смогут такое сваять. Но зачем?
Приложения обычно пишут для удобного представления данных, а не повтора функционала табличных процессоров.
Цитата Сообщение от worldandlife Посмотреть сообщение
DataGridView такое не сможет
Еще как сможет, если с ним уметь работать не только в рамках справки от MS.

Ты, вон, картинку даже толком вставить не смог, прицепил зачем-то все окно. Чтобы эту таблицу с лупой разглядывать?
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
04.03.2024, 00:49  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
Да хоть 273. Из них, от силы 1-2 человека смогут такое сваять. Но зачем?
Это факт или ваше мнение?

Цитата Сообщение от wizard41 Посмотреть сообщение
Еще как сможет, если с ним уметь работать не только в рамках справки от MS.
Суть интерфейса понятна и проста, получил данные из модели и отобразил их. В этом же случае контрол сложный.

Цитата Сообщение от wizard41 Посмотреть сообщение
Приложения обычно пишут для удобного представления данных, а не повтора функционала табличных процессоров.
Хорошо, какие предложения?

Цитата Сообщение от wizard41 Посмотреть сообщение
Ты, вон, картинку даже толком вставить не смог, прицепил зачем-то все окно. Чтобы эту таблицу с лупой разглядывать?
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3429 / 2748 / 575
Регистрация: 04.09.2018
Сообщений: 8,626
Записей в блоге: 3
04.03.2024, 01:02
Цитата Сообщение от worldandlife Посмотреть сообщение
Это факт или ваше мнение?
Факт в том, что этот топик смотрят не только специалисты, но и обычные прохожие, которые, разумеется, знать не знают что это такое. Поэтому цифра кол-ва просмотров ровным счетом ни о чем не говорит, в плане потенциальных помогателей.
Цитата Сообщение от worldandlife Посмотреть сообщение
В этом же случае контрол сложный.
Зачем он такой нужен?
Цитата Сообщение от worldandlife Посмотреть сообщение
Хорошо, какие предложения?
Мммм, вариантов 5, на вскидку, может предложить только моя фантазия. Это если сильно не думать. А если еще и знать что это и для чего, то круг предложений может значительно сузиться, причем еще и стать более формальнее.
На вскидку, какой-то расчет выплат/зарплат... Но это ж неудобно такое в программе смотреть. А если уровней сложности будет 50? Или, областей специализации штук 200? Мотать это все? Какой тогда смысл в программе - в Excel'е можно с макросами что хошь сделать.
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
04.03.2024, 01:11  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
Но это ж неудобно такое в программе смотреть. А если уровней сложности будет 50? Или, областей специализации штук 200? Мотать это все?
Есть фильтры



Цитата Сообщение от wizard41 Посмотреть сообщение
в Excel'е можно с макросами что хошь сделать.
excel платный, хотя есть конечно аналоги вроде libre office
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3429 / 2748 / 575
Регистрация: 04.09.2018
Сообщений: 8,626
Записей в блоге: 3
04.03.2024, 01:21
Цитата Сообщение от worldandlife Посмотреть сообщение
Есть фильтры
Я вижу фильтры. Так же вижу, что есть категории, которые в таблице нафиг не нужны. Пару комбобоксов с поиском и ниже основная таблица в том же DataGrid - и я за 2 секунды найду кого угодно из любой категории.
Смотри: если ты уже выбрал в "фильтре" что-то - зачем это показывать в результативной таблице? Ты же и так знаешь, что ты искал.

Добавлено через 3 минуты
Цитата Сообщение от wizard41 Посмотреть сообщение
Ты же и так знаешь, что ты искал.
А, ну тут да, может быть множественный выбор. В любом случае, все можно гораздо упростить.
Скажу по секрету - такая вот именно таблица, в том виде что на картинке - бухгалтерам не нужна. Им хватило и офисных, а программа должна им помочь уйти от этого. А тут получается те же яй... только в профиль.
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
04.03.2024, 01:33  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
У тут получается те же яй... только в профиль.


Цитата Сообщение от wizard41 Посмотреть сообщение
Пару комбобоксов с поиском и ниже основная таблица в том же DataGrid - и я за 2 секунды найду кого угодно из любой категории.
Ну то есть, имеет смысл делать все простыми контролами, а не изобретать эксель, верно?.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3429 / 2748 / 575
Регистрация: 04.09.2018
Сообщений: 8,626
Записей в блоге: 3
04.03.2024, 01:43
Цитата Сообщение от worldandlife Посмотреть сообщение
Ну то есть, имеет смысл делать все простыми контролами, а не изобретать эксель, верно?.
Да, об этом я изначально говорил.
Скажем так, если сам не можешь осилить такое, то делай так как можешь. Потому что помогать и тем более самостоятельно делать такую таблицу тут явно ни кто не будет. Был тут как-то вопрос о способах группировки DataGrid, причем не только по строкам, но и по столбцам. Короче почти как в Excel. Я на него ответил с реальным примером только потому, что когда-то сам слегка заморочился этим.
Второй нюанс: допустим, кто-то сделал такой контрол, что дальше? Ты сможешь с ним работать правильно? Скорее всего нет. Ну и понятно, что нянчиться с этим вопросом, с месяц, тоже никто не собирается.
Такая таблица в приложении не нужна. Можно гораздо удобнее и нагляднее представить данные.
1
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
04.03.2024, 01:53  [ТС]
Цитата Сообщение от wizard41 Посмотреть сообщение
Можно гораздо удобнее и нагляднее представить данные.
А есть какой то конкретный пример? Вроде tree view, или несколько dgview на форме? Как бы вы представили такую таблицу?

Добавлено через 2 минуты
Цитата Сообщение от wizard41 Посмотреть сообщение
Второй нюанс: допустим, кто-то сделал такой контрол, что дальше?
Есть платные контролы, но я с ними не работал и не знаю, покроют ли они все требования. Тут только изучать документацию
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3429 / 2748 / 575
Регистрация: 04.09.2018
Сообщений: 8,626
Записей в блоге: 3
04.03.2024, 02:01
Цитата Сообщение от worldandlife Посмотреть сообщение
Вроде tree view, или несколько dgview на форме?
Вариантов масса. Но для более детального ответа нужно представлять себе модель отображаемых данных. Что куда можно раскидать. В таблице на картинке какая-то ерунда: везде "Итого" непонятно чего.

На лицо явно есть главная категория - "Область специализации", с под-категориями "Уровень сложности". В таком же виде они хранятся в базе, ну, т.е. должны бы хранится с такой иерархией. Если БД проектировал тот же, кто делал эту таблицу, то ... всего можно ожидать.
0
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768
04.03.2024, 07:32
Цитата Сообщение от worldandlife Посмотреть сообщение
Есть платные контролы, но я с ними не работал и не знаю, покроют ли они все требования
Вот тут (DevExpress XtraGrid), например, для ДатаГрида есть очень детальное демо-приоложение (можно установить и покликать варианты). Из коробки этот грид поддерживает фильтрацию, сортировку, группировку, слияние ячеек и широкие возможности по кастомизации.

Самостоятельно, конечно, можно и с нуля реализовать то, что у вас на скрине, но это не самая простая задача.

Добавлено через 13 минут

Не по теме:

Цитата Сообщение от wizard41 Посмотреть сообщение
Такая таблица в приложении не нужна. Можно гораздо удобнее и нагляднее представить данные.
Ну не так категорично. В узкоспециализированном софте регулярно возникают требования делать чрезмерно перегруженные данными/функционалом формы/контролы, в т.ч. с кучей неявного поведения (по каким-то хоткеям или контекстным меню).

1
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
04.03.2024, 08:42
worldandlife, SuperDataGrid от DevExpress (для win forms) умеет это все, но он платный

Добавлено через 4 минуты
Можно и самому на WPF/Avalonia такое сделать, используя Grid и Expander
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
04.03.2024, 09:45
Поддержу морально два предыдущих ответа: наверное стоит искать готовое решение, т.к. с нуля это делать... ну "сложно" тут скорее из-за объема работы, а не логически. Начиная от "продумать логику работы" и заканчивая тестирование. Прям куча времени.
1
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
04.03.2024, 12:03
worldandlife, а не пробовали изменить представление таблицы? как минимум "оклад", который зачем-то в виде столбцов, хотя удобнее их строками видеть
0
04.03.2024, 12:07

Не по теме:

Цитата Сообщение от kotelok Посмотреть сообщение
делать чрезмерно перегруженные данными/функционалом формы/контролы
Да, есть такое. Но в этом приложении явно таким не пахнет.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2024, 12:07
Помогаю со студенческими работами здесь

Хранение данных на хостинге, варианты реализации
Здравствуйте, пишу программу запоминания паролей, встал вопрос хранения данных пользователя на хостинге, доступ к которым будет...

Посоветуйте варианты реализации CRUD интерфейса для однотипных таблиц
мСразу буду упрощать описание процесса. Есть 10 таблиц с одинаковой структурой (id, Name, Age) допустим. По всем таблицам необходимо...

Подскажите варианты в оптимальной реализации разбора строк с расписанием DateTime, для моего класса Schedule
С недавних пор учу C# и мне нужна помощь в реализации класса для задания и расчета времени по расписанию. Конкретно непонятно как...

A * B = C Варианты реализации
Имеем три числа A В С. Числа большие (допустим 1024 бита, не существенно). Нужно выполнить умножения A * B = С. Разрядность результата в...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru