и вообще.не только тебе но и остальным гуру.вы же видите статус пользователя.зачем употреблять слова подключаешь,добавляешь,используешь,включаешь и прочее?надо попроще как-то.проект-добавить-файл такой-то.т.е. конкретные указания какие кнопки жать.а с этим ccr разбирался целый день.куча ссылок на RxLib,в том числе и на твоей странице.и оказывается что ничего не работает!а ccr нашёл только поисковиком.ну разве это нормально?
dbgrid и сортировка
Модератор: Модераторы
-
SeventhSon
- новенький
- Сообщения: 56
- Зарегистрирован: 17.02.2009 00:57:17
alexs извини но я новичок в этом деле.что значит включить модуль сортировщика в проект?использую RxLib и RxDBGrid оттуда.в базе фаербёрд цепляюсь зеосом.я может что не так объясняю.саму сортировку я наверное смогу реализовать через обработку события нажатия заголовка DBGrid.я не знаю простого способа отображать значки сортировки в заголовке DBGrid.в некоторых программах рисуются треугольнички и цифра,т.е. с зажатым контролом можно усложнить сортировку по нескольким столбцам.в Бате вроде стрелочки цветные рисуются.модуль exsortXXX.pas про который ты упоминал в зеосе я не нашёл.искал разумеется по маске exsort*.pas.
и вообще.не только тебе но и остальным гуру.вы же видите статус пользователя.зачем употреблять слова подключаешь,добавляешь,используешь,включаешь и прочее?надо попроще как-то.проект-добавить-файл такой-то.т.е. конкретные указания какие кнопки жать.а с этим ccr разбирался целый день.куча ссылок на RxLib,в том числе и на твоей странице.и оказывается что ничего не работает!а ccr нашёл только поисковиком.ну разве это нормально?
и вообще.не только тебе но и остальным гуру.вы же видите статус пользователя.зачем употреблять слова подключаешь,добавляешь,используешь,включаешь и прочее?надо попроще как-то.проект-добавить-файл такой-то.т.е. конкретные указания какие кнопки жать.а с этим ccr разбирался целый день.куча ссылок на RxLib,в том числе и на твоей странице.и оказывается что ничего не работает!а ccr нашёл только поисковиком.ну разве это нормально?
SeventhSon
exsort*.pas находится в комплекте пакета RxLib.
Скачать пакет целиком можно по этой ссылке: http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/rx.tar.gz?view=tar.
Демонстрашка AutoSort туда уже добавлена.
Статус, который мы видим на форуме, это Ваш статус именно в форуме. Никто Ваших реальных знаний и умений в программировании не знает, а сами Вы рассказать об этом почему-то постеснялись. Отчего же Вас тогда удивил и даже обидел получившийся результат? С Вами разговаривали как с равным, искренне надеясь на то, что Вы не будете зажиматься, когда спрашиваете о непонятных для Вас вещах.
Все гуру когда-то были начинающими, однако мало кто из гуру помнит, какими они тогда были.
Может быть Вас удивит, но у всех гуру процесс становления, как программиста, протекал по разному. Кому-то не давались одни вещи, кому-то другие. Поэтому давайте Вы не будете обижаться, а лучше соберитесь с мыслями и постарайтесь формулировать Ваши вопросы так, чтобы любому гуру было понятно, что именно Вы не понимаете, где, в каком конкретно месте у Вас затруднения. Иначе, если Вы не сможете детально описать свою проблему, Вам невозможно будет помочь. 
Хочу только Вас сразу предупредить, что "кнопочников", т.е. тех кто может понять только на уровне
никто нигде не любит. Здесь не партийный аппарат КПСС, в котором только требовалось беспрекословно исполнять вышестоящие указания не задумываясь. Здесь приветствуется самостоятельное мышление. А руководство, т.е. постоянное ведение за руку, всех без исключения приводит в беспросветное уныние. Из-за этого закрылось или остановило свою работу множество интереснейших сайтов в интернете. Вы ведь не хотите, чтобы и этот сайт тоже заглох?
exsort*.pas находится в комплекте пакета RxLib.
Скачать пакет целиком можно по этой ссылке: http://lazarus-ccr.svn.sourceforge.net/viewvc/lazarus-ccr/components/rx.tar.gz?view=tar.
Демонстрашка AutoSort туда уже добавлена.
SeventhSon писал(а):и вообще.не только тебе но и остальным гуру.вы же видите статус пользователя.зачем употреблять слова подключаешь,добавляешь,используешь,включаешь и прочее?надо попроще как-то.проект-добавить-файл такой-то.т.е. конкретные указания какие кнопки жать.
Статус, который мы видим на форуме, это Ваш статус именно в форуме. Никто Ваших реальных знаний и умений в программировании не знает, а сами Вы рассказать об этом почему-то постеснялись. Отчего же Вас тогда удивил и даже обидел получившийся результат? С Вами разговаривали как с равным, искренне надеясь на то, что Вы не будете зажиматься, когда спрашиваете о непонятных для Вас вещах.
Все гуру когда-то были начинающими, однако мало кто из гуру помнит, какими они тогда были.
Хочу только Вас сразу предупредить, что "кнопочников", т.е. тех кто может понять только на уровне
SeventhSon писал(а):...конкретные указания какие кнопки жать...
никто нигде не любит. Здесь не партийный аппарат КПСС, в котором только требовалось беспрекословно исполнять вышестоящие указания не задумываясь. Здесь приветствуется самостоятельное мышление. А руководство, т.е. постоянное ведение за руку, всех без исключения приводит в беспросветное уныние. Из-за этого закрылось или остановило свою работу множество интереснейших сайтов в интернете. Вы ведь не хотите, чтобы и этот сайт тоже заглох?
-
SeventhSon
- новенький
- Сообщения: 56
- Зарегистрирован: 17.02.2009 00:57:17
да вы меня не правильно поняли.я вовсе не обиделся.я вообще не обидчивый
просто высказал свои пожелания.просто заметил что у многих гуру такая болезнь.они напрочь забывают что были когда-то чайниками и объясняют всё типа берёшь,создаёшь,добавляешь...ну это не те слова.им-то кажется всё просто как 2*2 а человек не понимает что значит создаёшь.про кнопки я высказался утрированно но вот в данном ведь случае сказали добавить exportXXX.pas а из RxLib не добавили слова.а я из контекста понял что надо в зеосе это искать.и потерял гораздо больше времени чем если бы автор допечатал "из RxLib".
конечно я хочу чтобы данный ресурс процветал.я пробовал программировать под линукс на Ruby+Tk,были проблемы с кирилицей.фаербёрд прикручивается не так просто.вобщем я для себя сделал вывод что несмотря на критику лазаруса(большой объём скомпилированной простейшей программы например) это самый удобный и простой способ GUI-программирования под линукс.сравнивать паскаль и си не буду это отдельная тема но тоже считаю что паскаль практичнее.майкрософт в тупике,линукс же наоборот развивается стремительными темпами.и сейчас очень необходим такой инструмент как лазарус чтобы большое количество талантливых дельфистов начали писать софт под линукс.конечно я не думаю что вы и другие гуру обязаны помогать таким чайникам как я.но я считаю что сортировка в дбгриде это очень важный кирпичик-элемент для написания многих программ.и если я не смог реализовать хотя кое-какой опыт у меня есть то и у других будут проблемы.
и может завтра человек который писал в дельфи,сел за линукс и создал простейшее приложение завтра напишет что-то серьёзное.кстати насколько я знаю qip и TheBat наверное лучшие программы в своём классе написаны на дельфи.
спасибо за ответ буду дальше работать в этом направлении.может когда-нибудь и я буду на вашем форуме давать умные советы:)
конечно я хочу чтобы данный ресурс процветал.я пробовал программировать под линукс на Ruby+Tk,были проблемы с кирилицей.фаербёрд прикручивается не так просто.вобщем я для себя сделал вывод что несмотря на критику лазаруса(большой объём скомпилированной простейшей программы например) это самый удобный и простой способ GUI-программирования под линукс.сравнивать паскаль и си не буду это отдельная тема но тоже считаю что паскаль практичнее.майкрософт в тупике,линукс же наоборот развивается стремительными темпами.и сейчас очень необходим такой инструмент как лазарус чтобы большое количество талантливых дельфистов начали писать софт под линукс.конечно я не думаю что вы и другие гуру обязаны помогать таким чайникам как я.но я считаю что сортировка в дбгриде это очень важный кирпичик-элемент для написания многих программ.и если я не смог реализовать хотя кое-какой опыт у меня есть то и у других будут проблемы.
и может завтра человек который писал в дельфи,сел за линукс и создал простейшее приложение завтра напишет что-то серьёзное.кстати насколько я знаю qip и TheBat наверное лучшие программы в своём классе написаны на дельфи.
спасибо за ответ буду дальше работать в этом направлении.может когда-нибудь и я буду на вашем форуме давать умные советы:)
В DBGrid обычно не нужно делать сортировку, т.к. сортировка, и очень просто, делается прямо в запросе к серверу БД, а DBGrid он нужен только для показывания таблицы (результата запроса) и больше ни для чего...
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Vadim
ты не прав
когда ты уже имееш отобранный набор данных - а оператор хочет его пересортировать по своей прихоти - то нагружать сервер для этого - слшком расточительно. Гораздо дешевле произвести сортировку уже отобранных на клиента данны на месте, не дергая лишний раз сервак БД.
ты не прав
когда ты уже имееш отобранный набор данных - а оператор хочет его пересортировать по своей прихоти - то нагружать сервер для этого - слшком расточительно. Гораздо дешевле произвести сортировку уже отобранных на клиента данны на месте, не дергая лишний раз сервак БД.
alexs писал(а):Vadim
ты не прав
когда ты уже имееш отобранный набор данных - а оператор хочет его пересортировать по своей прихоти - то нагружать сервер для этого - слшком расточительно. Гораздо дешевле произвести сортировку уже отобранных на клиента данны на месте, не дергая лишний раз сервак БД.
При многопользовательском режиме, думаю, Vadim более прав.
На то он и сервер, чтобы выполнять такие задачи. Клиенты должны только представлять данные, а не заниматься сложными операциями. Может я ошибаюсь. Это мое мнение.
Спорить не буду, может так оно и есть. Только за сервер большие тышы плочены, пусть отрабатывает. 
Интересно. А как быть с трафиком? Если клиент будет делать сортировки у себя, то это ему нужно передавать в любом случае весь набор данных. Или я что-то не понимаю? К тому же, если юзер открыл у себя набор, пошел покурить, а потом отсортировал и сделал какие-то выводы, то они (выводы) будут базироваться на данных, которые уже много раз изменились или вовсе не существуют.
yuray
Имеется в виду сортировка только полученной порции данных. Ему не надо забирать с сервера всю таблицу.
Имеется в виду сортировка только полученной порции данных. Ему не надо забирать с сервера всю таблицу.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Vadim
А ты даёш возможность оператору вытягивать на клиента одним махом большие объёмы? Зачем?
Всё равно чисто физически оператор не может обработать список более 200-300 записей. Ограничения человека.
Лучше предоставить возможности по хорошей фильтрации данных - желательно незаметной для пользователя.
А вот уже в отфильтрованных (и обработанных предвариательно на сервере) данных пусть оператор возится. С НЕ БОЛЬШИМ списком.
И сортирует как ему хочется.
И ещё - в многопользовательских системах (за исключениме аналитики) оператору обычно не очень интересны данные, введённые другими операторами.
Вот чтобы не платить большие тыщи - надо просто сначала продумать интерфейс взаимодествия оператора с системой.
А практика бездумного увеличения мощности ПК - это абсурд. И то, что дешевле заплатить за железку - чем за нормально работающую программу - миф. Я сейчас с этим каждый день сталкиваюсь.
P.S.
Эту тему мы уже обсасывали здесь. По моему, не стоит ещё раз поднимать.
А ты даёш возможность оператору вытягивать на клиента одним махом большие объёмы? Зачем?
Всё равно чисто физически оператор не может обработать список более 200-300 записей. Ограничения человека.
Лучше предоставить возможности по хорошей фильтрации данных - желательно незаметной для пользователя.
А вот уже в отфильтрованных (и обработанных предвариательно на сервере) данных пусть оператор возится. С НЕ БОЛЬШИМ списком.
И сортирует как ему хочется.
И ещё - в многопользовательских системах (за исключениме аналитики) оператору обычно не очень интересны данные, введённые другими операторами.
Vadim писал(а):олько за сервер большие тышы плочены, пусть отрабатывает
Вот чтобы не платить большие тыщи - надо просто сначала продумать интерфейс взаимодествия оператора с системой.
А практика бездумного увеличения мощности ПК - это абсурд. И то, что дешевле заплатить за железку - чем за нормально работающую программу - миф. Я сейчас с этим каждый день сталкиваюсь.
P.S.
Эту тему мы уже обсасывали здесь. По моему, не стоит ещё раз поднимать.
alexs писал(а):А практика бездумного увеличения мощности ПК - это абсурд.
С этим никто не спорит. Речь идет о том, каким образом сортировать данные в гриде. О чем, собственно, и спрашивают. Ответов два - делать сортировку на сервере или клиенте. От выбора способа сортировки зависит его реализация. Конечно, давать возможность отображать (FetchAll) и сортировать большие наборы данных нецелесообразно. Но если уж очень надо, а временами это удобный способ быстро получить доступ к последней или первой записи, то, на мой взгляд, делать это нужно на сервере. Так как клиенту нужно сначала передать весь набор данных, а потом заставить заниматься не свойственными ему делами. И определить на стадии проектирования приложения каким будет размер каждого набора данных (200-300 записей или больше) невозможно.
А оптимизацию запросов, раздачу прав пользователям, выбор архитектуры приложения и т.д. никто не отменял. Это само собой.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
yuray писал(а):Но если уж очень надо, а временами это удобный способ быстро получить доступ к последней или первой записи,
alexs писал(а):Лучше предоставить возможности по хорошей фильтрации данных - желательно незаметной для пользователя.
Вопросы?
alexs писал(а):А ты даёш возможность оператору вытягивать на клиента одним махом большие объёмы? Зачем?
Не понял, почему эти вопросы адресованы именно мне.
-
SeventhSon
- новенький
- Сообщения: 56
- Зарегистрирован: 17.02.2009 00:57:17
задача DBGrid-ОТОБРАЗИТЬ данные.не забывайте об этом.т.е. при взгляде на DBGrid пользователь должен сразу увидеть по какому полю данные отсортированы не заходя в "настройки-сортировать по...", для этого и нужен треугольничек или другой значок в заголовке.посмотрите как это красиво сделано в TheBat например.альтернативный вариант-кинуть на форму PageControl, создать страницы по числу столбцов DBGrid и на каждую страницу положить DBGrid.видел и такое.согласитесь что первый вариант удобнее и практичнее.
ну и конечно имхо глупо фетчить данные создавая ненужную нагрузку на сервер и лишний трафик потому что уже выбранные данные пользователь решил пересортировать по другому полю.конечно при обычной работе 200-300 записей достаточно.а если необходимо выбрать ВСЕ(тысячи или десятки тысяч строк) данных чтобы например их распечатать или экспортировать в табличный процессор типа Excel?кстати под Дельфи видел хитрый DBGrid который умеет это делать.
Добавлено спустя 15 минут 58 секунд:
бегло посмотрел пример с AutoSort.как-то непонятно.при клике по Title'у треугольнички появляются.и меняют направление вверх-вниз.но данные всё равно сортируются только по возрастанию.но уже прогресс.будем разбираться спасибо
ну и конечно имхо глупо фетчить данные создавая ненужную нагрузку на сервер и лишний трафик потому что уже выбранные данные пользователь решил пересортировать по другому полю.конечно при обычной работе 200-300 записей достаточно.а если необходимо выбрать ВСЕ(тысячи или десятки тысяч строк) данных чтобы например их распечатать или экспортировать в табличный процессор типа Excel?кстати под Дельфи видел хитрый DBGrid который умеет это делать.
Добавлено спустя 15 минут 58 секунд:
бегло посмотрел пример с AutoSort.как-то непонятно.при клике по Title'у треугольнички появляются.и меняют направление вверх-вниз.но данные всё равно сортируются только по возрастанию.но уже прогресс.будем разбираться спасибо
