Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка по клику на колонке, в EhLib 
:(
    Опции темы
bartram
Дата 22.7.2005, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: нет
Всего: 29



Сабж! Как? В демо римере это есть но не могу понять как реализовано подскажите плиз!


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
~FoX~
Дата 22.7.2005, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 4
Всего: 68



DBGridEh1.Columns[1].Title.SortMarket := smUpEh;


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Grig
Дата 22.7.2005, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: 4
Всего: 16



Я вот так делаю..
Код

procedure TFrVvod.DBGridEh1TitleClick(Column: TColumnEh);
begin
 if Column.FieldName = 'MyField' then
 begin
    case Column.Title.SortMarker of
    smNoneEh:
    begin
      Table1.Sort:='MyField DESC';
      Column.Title.SortMarker := smDownEh;
    end;
    smDownEh:
    begin
      Table1.Sort:='MyField ASC';
      Column.Title.SortMarker := smUpEh;
    end;
    smUpEh:
    begin
      Table1.Sort:='MyField';
      Column.Title.SortMarker := smNoneEh;
    end;
    end; //case
 end;//if 
end;//procedure


Это сообщение отредактировал(а) Grig - 22.7.2005, 09:57


--------------------
        
PM MAIL ICQ   Вверх
bartram
Дата 22.7.2005, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: нет
Всего: 29



Grig, спасибо за код, я его доработал и вот что получилось. Так гораздо проще.
Код

begin
    case Column.Title.SortMarker of
    smNoneEh:
    begin
      Table.Sort:=Column.FieldName;
      Column.Title.SortMarker := smDownEh;
    end;
    smDownEh:
    begin
      Table.Sort:=Column.FieldName ;
      Column.Title.SortMarker := smUpEh;
    end;
    smUpEh:
    begin
      Table.Sort:=Column.FieldName;
      Column.Title.SortMarker := smNoneEh;
    end;
    end; //case
 end;

Тебе + за подсказку smile


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
Grig
Дата 25.7.2005, 03:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 809
Регистрация: 29.4.2005
Где: Иркутск

Репутация: 4
Всего: 16



bartram, последние штрихи к твоему коду:

Код

    case Column.Title.SortMarker of    
    smNoneEh:    
    begin    
      dm.ADOTemp1.Sort:=Column.FieldName+'  DESC';
      Column.Title.SortMarker := smDownEh;    
    end;    
    smDownEh:    
    begin    
      dm.ADOTemp1.Sort:=Column.FieldName+' ASC' ;
      Column.Title.SortMarker := smUpEh;    
    end;    
    smUpEh:    
    begin    
      dm.ADOTemp1.Sort:=Column.FieldName; {а вот эту строчку вообще можно убрать, от нее ни холодно, ни жарко}
      Column.Title.SortMarker := smNoneEh;    
    end;    
    end; //case


Без ASC и DESC при повторном нажатии на заголовке той же колонки ничего не произойдет...
То есть значок в заголовке изменится, а сама таблица не отсортируется.

Это сообщение отредактировал(а) Grig - 25.7.2005, 03:56


--------------------
        
PM MAIL ICQ   Вверх
bartram
Дата 25.7.2005, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1606
Регистрация: 22.2.2004
Где: Russia, Samara

Репутация: нет
Всего: 29



Цитата(Grig @ 25.7.2005, 03:49)
То есть значок в заголовке изменится, а сама таблица не отсортируется.

Попробуй, всё и так изменится
smile


--------------------
В каждом из нас спит гений, но с каждым днем все крепче ;-)
bartram.ru
Twitter
user posted image 

PM MAIL ICQ   Вверх
offline
Дата 25.7.2005, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 474
Регистрация: 7.2.2005

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



Лучше через SQL сортировать smile
PM MAIL   Вверх
Петрович
Дата 13.8.2005, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 6
Всего: 55



Люди, вы что, с дуба рухнули? Столько писанины ради сортировки?
Там-же все делается практически автоматически. smile
Откройте хелп на первой странице описания компонента DBGridEh, и внимательно, с выражением, почитайте эту страницу до конца. Узнаете много интересного. Особенно в разделе Using DBGridEh for sorting and filtering data in the DataSet.

Это сообщение отредактировал(а) Петрович - 13.8.2005, 00:34


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
delphi_
Дата 30.11.2006, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 30.11.2006

Репутация: нет
Всего: -1



Петрович,можете  еще раз пояснить? smile 

Сделал как у вам написано вот тут http://www.ehlib.com/EhLibUsersGuide/UsingDBGridEh.htm
Использую ADO для соединения с базой ACCESS (локальная)

dghMultiSortMarking поставил в True
Column.Title.TitleButton всех колонок тоже поставил в true

но вот как делать дальше?чем ни как понять не могу...куда там датсет пристраивать?
буду оч признателен если поможете...
PM MAIL   Вверх
Vas
Дата 1.12.2006, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Привяжи к проекту модуль EhLibADO. 



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Akella
Дата 1.12.2006, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



да, просто добавь его в uses
PM MAIL   Вверх
delphi_
Дата 1.12.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 30.11.2006

Репутация: нет
Всего: -1



добавил
терь при клике по калонке выдает сие-
user posted image

поговорил с девелопером собстна ехлибы,он сказал не юзать АДО тейбл...но как тогда канектиться к базе?

Это сообщение отредактировал(а) delphi_ - 1.12.2006, 16:52
PM MAIL   Вверх
Akella
Дата 1.12.2006, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



ну на крайняк по ставь свойство грида  localsort в True
PM MAIL   Вверх
delphi_
Дата 1.12.2006, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 30.11.2006

Репутация: нет
Всего: -1



заработало,спасибо большое
PM MAIL   Вверх
Veniamin
Дата 22.4.2008, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 3.3.2005

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



Пишу программу для работы с БД на Access, соединение через ADO. Вопрос по сортировке: Сортирую по IndexFieldNames, по-любому полю сортируется кроме ключевого. Вот что выдаёт:

user posted image

Как сортировать по ключевому полю?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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