|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Имеется широкая табличная форма с множеством столбцов, многоие столбцы имеют довольно длинные заголовки при коротких цифровых данных. Задача предоставить пользователю возможность произвольно сортировать и фильтровать данные в этой форме, при этом в идеале заголовки должны быть в несколько строк, чтобы излишне не растягивать форму по горизонтали (из-за ограничения Акцесса по ширине, уже влияет) с возможностью выделить группы заголовков цветом. Желательно, но не обязательно менять ширину столбцов, скрывать и перемещать их. Я вижу 2 варинта решения: 1. Реализовывать функционал сортировки и мультивыборной фильтации на ленточной форме 2. "Навесить" сверху столбцов табличной формы цветные заголовки, которые должны будут каким-то образом отслеживать ширину столбцов табличной формы и меняться в зависимости от этого. Что посоветуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 10:16 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
VolunteerИмеется широкая табличная форма с множеством столбцов, многоие столбцы имеют довольно длинные заголовки при коротких цифровых данных. Задача предоставить пользователю возможность произвольно сортировать и фильтровать данные в этой форме, при этом в идеале заголовки должны быть в несколько строк, чтобы излишне не растягивать форму по горизонтали (из-за ограничения Акцесса по ширине, уже влияет) с возможностью выделить группы заголовков цветом. Желательно, но не обязательно менять ширину столбцов, скрывать и перемещать их. Я вижу 2 варинта решения: 1. Реализовывать функционал сортировки и мультивыборной фильтации на ленточной форме 2. "Навесить" сверху столбцов табличной формы цветные заголовки, которые должны будут каким-то образом отслеживать ширину столбцов табличной формы и меняться в зависимости от этого. Что посоветуете? Что тут посоветуешь. >>Имеется широкая табличная форма с множеством столбцов Скоко примерно? Ёкселем попахивает. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 10:26 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
ROI, В районе 40. Хочется все это увидеть одновременно, а не прокручивать форму постоянно. Эксель не вариант, т.к. форма не только показывает, но и редактирует данные. Это симулятор прибыльности предприятия. В нефильтрованном виде там сотни тысяч исторических записей, и пользователь должен иметь возможности менять параметры сразу для многих записей (например для группы товаров), выставляя разные типы скидок и базовых составляющих цены ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 10:38 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
VolunteerЖелательно, но не обязательно менять ширину столбцов, скрывать и перемещать их. Я же говорю Ёкселем попахивает. Ну а почему вам Ёксель не подходит? Для аналитики самое то. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:03 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Volunteer, Да и в дагонку, а данные на чем хранятся? Ну в какой базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:05 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
ROI, На ёкселе сложновато все это реализовать будет. Симулятор - это только одна чать, там еще модуль согласований цен с диллерами, трекинг разосланых списков на согласование, экспорт-импорт этих списков, формы с отчетностью в разных разрезах. Все это должно иметь возможность сохранять в разных верстиях и работать с несколькими пользователями. На таких объемах ёксель еще и тормозить будет. База пока на акцессе, но рассматривается и перенос бэкенда на SQL в случае необходимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:20 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
п.2 очень сложен в реализации, а ленточная форма - самое то. К тому же в ее заголовке можно расположить свободные поля для задания фильтров по основным полям. Кроме того, для удобства редактирования текущей записи, можно показывать ее в отдельной простой форме, возможно с расположением полей на отдельных вкладках. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:20 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Ну я тоже к ленточной форме склоняюсь, только вот не хочется изобретать велосипед и писать фильтры с возможностью мультивыбора к этой форме. Нет под рукой ссылочки или кода такого фильтра? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:29 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Volunteer, Удобный и красивый интерфейс ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:30 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
VolunteerВсе это должно иметь возможность сохранять в разных верстиях и работать с несколькими пользователями В разных версиях чего? А табличная и ленточная форма не устроит (отца русской демократии)? В Access 2010 все это очень даже вкусно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:32 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
ROIВ разных версиях чего? Имелось в виду данные сохранять в виде версий - с разными настройками ROIА табличная и ленточная форма не устроит (отца русской демократии)? Сплит которая, где комбинируется табличная с ленточной? Не знаю, надо посмотреть. Сомневаюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:52 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
\\\\Volunteer, Удобный и красивый интерфейс Да, спасибо, видел этот топик. Там грид на базе ActiveX весьма недешевого сделан, как я понял. Не пойдет, увы. У заказчика еще требование, чтобы и под 64 битным офисом работало, а там со сторонними компонентами швах, да и платить за него вряд ли кто будет, а на пиратке работать не могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 11:58 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
VolunteerУ заказчика еще требование, чтобы и под 64 битным офисом работало А это есче зачем? Выгоды ноль, ну а траблов- как блох на собаке. Ой чую не осилите (ИМХО). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 12:29 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
ROIА это есче зачем? Дык что корпоративное ИТ у клиента поставило, с тем и приходится мириться. Конторы как правило большие, у них свои причины, наши пожелания мало когда меняют решения. Осилим, не первый подобный проект делаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 12:42 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
VolunteerROIА это есче зачем? Дык что корпоративное ИТ у клиента поставило, с тем и приходится мириться. Конторы как правило большие, у них свои причины, наши пожелания мало когда меняют решения. Осилим, не первый подобный проект делаем. Боюсь вы лукавите. Если не первый проект. То откуда тема топика для начинающих. С уважением. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 12:55 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Все мы в чем-то начинающие, да и не один я работаю :) У меня и у коллег действительно нет готового кода для смарт фильтров а-ля-эксель с мультивыбором, сортировкой и изменением ширины столбцов в ленточной форме, но это не значит, что его нельзя написать или найти для экономии времени. Вот начал искать, для начала спросил, может у кого есть, пока ответов, которые можно использовать, не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 13:14 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Volunteer, Была у меня когда-то идея: Делать форму с заголовками для подформы в ней подформа - табличная. В табличной подформе фильтров...мама не горюй и поля местами меняются и ширина регулируется. Вот только все равно придется играться с заголовками в Форме по их ширине и расположению. Думаю будет работать для фильтрации быстрее так, чем с самодельными фильтрами или переписывании рекордсета. Но и с заголовками будет легче справиться, если их сгруппировать, тогда при изменении ширины все заголовки правее изменяемого будут подтягиваться/отодвигаться автоматом. тут вопрос только в очередности этих заголовков: - на уровне мысли. Как то их по индексу в группе менять местами. Может чушь, но что то у них должно быть, что определяет их порядок очередности в группе... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 14:41 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Volunteer, получить список со всеми возможными именами --клиент --товар --янв --фев --март --1кв ... --4 кв --2 полуг --год выбрать нужные(множественный выбор) на форме иметь 2-3 поля для разреза(можно выбрать клиент-товар или товар-клиент или клиент-год) и 18 для итогов, причем переопределять их источник(например без месяцев или только по годам или разность годов) у меня есть вариант подобный, хотя всегда учитываются реалии(типа сводной таблицы екселя) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2016, 15:07 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
ИгортанVolunteer, тут вопрос только в очередности этих заголовков: - на уровне мысли. Как то их по индексу в группе менять местами. Может чушь, но что то у них должно быть, что определяет их порядок очередности в группе... В общем, помтрел я повнимательнее, второй заголовок приделать будет действительно гораздо проще, чем мастерить свои фильтры, работы на несколько часов. С очередностью столбцов проблем нет, есть свойство ColumnOrder, с шириной тоже нет - ColumnWidth, привязать позицию дополнительных заголовков легко. У меня также есть два класса, которые замечательно справляются с динамическим перестроением, перемещением и скрытием контролов в ленточной форме для имитации табличной, добавить изменение ширины элементарно. Осталось только отследить мышь - перемещения колонок и изменение их ширины. К счастью MouseDown, MouseUp и MouseMove на табличной форме срабатывают именно в заголовках (на самих данных - нет). Просто перестраиваем колонки заголовков после каждого отпускания левой кнопки мыши. Всем спасибо за участие, оказывается, все просто :) Если утвердят идею, поделюсь реализацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 06:56 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Похоже, рано я обрадовался. Осталась одна скользкая деталь, из-за которой может ничего не получиться: если форма не влезает на экран по горизонтали, как понять, что пользователь сделал горизонтальную прокрутку и как после этого вычислить, какая колонка стала первой? Я так понимаю, без API тут не обойдешься. Есть идеи решения? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 07:23 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Нашел код с использованием API для синхронизации прокрутки в двух формах, это должно решить проблему с прокруткой заголовков синхронно с табличной субформой. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 12:04 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
VolunteerПохоже, рано я обрадовался. Не в обиду. Мне кажется, что вы утяжеляете процесс. Классы это хорошо, но ведь можно проще. Как я писал: основная форма - с заголовками для столбцов из подчиненной(табличной). Сдесь же и прикрутить - Отобразить столбцы(команда) - 1 строка. В табличной подформе - фильтры шикарные. Если сгруппировать в основной форме заголовки(назвать их как и зависимые столбцы, только с суфиксом), то вопрос скрытия отображения столбцов потребует 1-2 строки кода. С ColumnOrder, как я понял и менять очередность столбцов - тоже 1-2 строки(для заголовков) остается ширина столбцов...синхронизировать с контролами заголовков в основной форме. Что тоже думаю не потребует много писать кода. Не нужны классы, портянки кода. P.S. пришло в голову еще. Если акс моложе 2003 можно это все положить на разделенную форму, там правда нужно ПРАВИЛЬНО обращаться к контролам между табличной/обычной формами. Думаю еще лучше получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 13:17 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Игортан, Дело в том, что я хочу сделать эту фичу повторно используемой в виде "черного ящика", что значительно упростит дальнейшую поддержку в организации, уже есть некоторая библиотека, нужно пополнить ее. Также в самом приложении несколько форм, для которых нужны такие заголовки, т.е. все равно нужно выносить код в процедуры, классы гораздо проще изолировать от другого кода и просто копировать в другие приложения, где достаточно будет нескольких строк кода, чтобы все заработало. Ну и сами классы уже есть, от гораздо более сложного приложения, там нужно только поудалять лишнее и добавить поддержку ширины. Ширина и порядок заголовков должен меняться автоматом, руками точно не подгонишь, да и пользователь запросто может поменять и то и другое. Сплит форма, думаю, не облегчит разработку, там не табличная часть не прокручивается по горизонтали вместе с табличной, все равно нужно будет лепить еще одну субформу с заголовками и прокручивать ее синхронно с табличной формой ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 13:44 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Volunteer, Вам изнутри конечно видней. А я предполагал, кстати, работу с шириной, очередностью и видимостью столбцов отдать в возможность самому оператору. Пусть играется себе на здоровье. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 14:58 |
|
Форма с функциональностью табличной и заголовками более одной строки
|
|||
---|---|---|---|
#18+
Игортан, Так естественно, пользователь будет иметь возможность играться с шириной/порядком как ему вздумается, нужно специально извращаться, чтобы запретить ему это делать, точнее запретить нельзя, можно только восстанавливать изменения. Вопрос в синхронизации этих изменений на табличной форме и в нарисованных дополнительных заголовках. Или я что-то неправильно понял из предложенного? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2016, 15:06 |
|
|
start [/forum/topic.php?fid=45&msg=39225420&tid=1613603]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 357ms |
total: | 493ms |
0 / 0 |