Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

Опять Вопрос по EhLib.... ПРО СОРТИРОВКУ ЛОКАЛЬНО!!!!   Найти похожие ветки 

 
BorisUK ©   (2002-11-21 12:04) [0]

Уважаемы мастера
Вопрос по EhLib....
Не кидайте комнями за то что и так много про это вопросов задают, а я опять спрашиваю...
Хотя нет, - не вопросов, а ответов дают много типа
"Смотри EhLib..." и ссылка
Ну так вот. Скачал, смотрю, разбираюсь...
Прежде всего интересует как там сортировка на кэшированном наборе данных делается.
Говорили что возможно.
Вот я именно и хочу спросить.... Уважаемые... поподробнее...
Ну как это делать то?
У DBGridEh есть свойство SortLocal : boolean.
Как класно, ставлю его в тру... ну а дальше что делать, не могу додуматься..
В примерах нет (или есть - я не нашел).
Один человек (в ранешных вопросах на эту тему) кинул фразу дескать у DBGridEh нет такого (или не работает) есть у CRDBGrid...
Смотрю... правда есть чтото типа CRDBGrid1.Columns[x].SortOrder
[soAsc, soDesc, soNon]
Но свойства SortLocal : boolean НЕТ.
Такчто не понятно на локальный набор оно действует или нет...
И ваще как.
Я попытался обратится CRDBGrid1.Columns[0].SortOrder:="soAsc" (предворительно колонки не создавал) при компиляции говорит ошибка нельзя к несозданному обращятся.
Создавать колонки на этапе проектирование и присваивать им поля данных для меня неприемлемо. Поэтому пока отподает этот вариант.

Просто скажите могул ли они это делать или нет...
И если да , то где копать?????


 
MsGuns ©   (2002-11-21 12:11) [1]

Могу сказать из личного опыта следующее:
Пользовался этой библиотекой до тех пор, пока не задрали многочисленные глюки. Вконец достала путаница с глобальными переменными (точнее, их пересечением и перекрытием). Все это касается, в основном именно пресловутого грида. Сортировку делаю или активизацией соотв. индекса (если Table), или сортировкой (ORDER BY для Query). Изменения во втором случае через TUpdateSQL или ручками по событиям AfterPost/Delete/Insert


 
BorisUK ©   (2002-11-21 12:17) [2]

Не учто все так сложно...
Ну а с примером можно ?
а то если по простому нельзя.. не понять где копать :)


 
Prooksius ©   (2002-11-21 12:22) [3]

Grid не может сам сортировать данные. Данные сортируются в DataSet. А Grid - только показывает.
Какими компонентами доступа к IB пользуешься?
В FIBPlus есть такая возможность:
Процедуры: Sort, FastSort. Объявлены и чуть-чуть описаны в FIBDataSet.pas
В остальных компонентах - не знаю.


 
BorisUK ©   (2002-11-21 12:57) [4]

Сейчас юзаю ODAC
но рашьше хотел и для интербейса сделать...
Значит ответ НЕТ?
Не могут эти EhLib веши делать такие ляли :)
Чтож это тогда за свойства такие многоговорящие?
Что например можно сделать поставив SortLocal : boolean.
в тру.???


 
Николай В.   (2002-12-02 10:11) [5]

Там демка есть. По ней посмотри, как в этой библиотеке сортировка сделана.


 
BorisUK ©   (2002-12-02 10:29) [6]

Уже посмотрел..
И ваще очень старый это вопрос. Уже раробрались - спасибо.
Для тех кому интересно делается это
так:

procedure TMain_f.DBGridTitleBtnClick(Sender: TObject; ACol: Integer;
Field: TField);
begin
ClientDdataSet.IndexFieldNames:=Field.FieldName
end;

И всего делов то :)
Только единственный минус только по возрастанию получается..
Может можно ли через Индекс фиелд наме делать и по уменьщению? может знает кто, но наврятли можно, хотя это ИМХО...


 
KSergey ©   (2002-12-02 11:03) [7]

Так и не понятно о чем вопрос.
Вам же уже много раз было отвечено: сортируется не грид, сортируется DataSet. А как он сортируется - зависит от этого самого DataSet"а.
Что вы и увидели в примере. Вопрос: что в ответах было не так?!! Почему вопрос возникал неоднократно?!! Или не в ответах и не в отвечавших дело, а...


 
roottim   (2002-12-02 11:25) [8]

Утверждения,что сортируется DataSet не всегда аксиома.
компания DevExpress умудряется отображать датасет c любой локальной сортировкой, не изменяя НД.. видимо используя свои нутренние индексы к НД клиета..


 
KSergey ©   (2002-12-02 11:32) [9]

to roottim
Не понял. Это НД их производства сортирует как угодно или это грид их производства сортирует ка надо? Приведите название компонента.


 
BorisUK ©   (2002-12-02 11:34) [10]

KSergey ©
Не нравится вопрос так не лезь с ответами от которых толку нет...
Тоесть либо по существу либо ничего...
А против какждого попроса диспут разводить типа "Достоен ли сей мил человек ответа и внимания тря ля ля"... Незачем.
Но это опять ИМХО :)


 
Prooksius ©   (2002-12-02 11:39) [11]

2 roottim (02.12.02 11:25)
Ну, "каждый по-разному с ума сходит", речь шла о стандартных распространенных компонентах, о правилах, а не о исключениях.


 
VAleksey ©   (2002-12-02 11:42) [12]


> KSergey © (02.12.02 11:32)

Именно грид.
Express QuantumGrid его название.
Сортирует как надо. И по возрастанию и по убыванию и мульти сортировка и т.д. и т.п.


 
roottim   (2002-12-02 11:44) [13]

все вопросы не ко мне
смотрите на http://www.devexpress.com там есть и описание и можно демки скачать.


 
KSergey ©   (2002-12-03 06:41) [14]

Да, наворотили этот QuantumGrid. Хотя не совсем он уже и грид, если уж разобраться (в борландовском понимании), что, впрочем, не умаляет его достоинств.


 
Andriano ©   (2002-12-03 10:09) [15]

Пытаться сделать сортировку в DBGridEh, всё равно что искать на мониторе кнопку для включения 16 битного цвета.
Так что причина в соственных руках.


 
valnech ©   (2002-12-03 12:17) [16]

DBGridEh умеет сортировать, он для этого к тексту запроса приписывает "ORDER BY "+индекс колонки. на которой щелкнули + тип сортировки (возрастание/убывание), работает не для всех типов результирующего набора, у колонок грида должен быть стиль Button включен (пишу по памяти, извините, если что не так :) )


 
BorisUK ©   (2002-12-03 12:27) [17]

to Andriano ©
Я просто повторил чьито слова что "такого рода сортировка делается
в DBEhGrid" и попросил расказать как...
Вот valnech © ваабще собрался кудато в грид сувать запрос
"ORDER BY "+индекс колонки
Я прошу прошения, но у меня уже все давно работает
и от (02.12.02 10:29) я написал как я это сделал :)
Да DBGridEh там не пригодился!
Но вы все обсуждаете и обсуждаете...
Мне савсем не надо чтоб мои вопросы переносили в конфы "Потрепаться". Поэтому прошу всех обратить внимание на то что проблема уже решена.
Всем спасибо :)


 
ЮЮ ©   (2002-12-03 12:43) [18]

>Только единственный минус только по возрастанию получается..
Может можно ли через Индекс фиелд наме делать и по уменьщению? может знает кто, но наврятли можно, хотя это ИМХО...

А с этим тоже разобрался?


 
BorisUK ©   (2002-12-03 12:46) [19]

Нет, но про это никто не говорит
а я сказал что ИМХО нельзя!
Пока не актуально.


 
Vick   (2002-12-03 12:53) [20]

Ты плохо смотрел, на самом деле можно, я делала...


 
ЮЮ ©   (2002-12-03 12:59) [21]

Создать индекс ClientDataSet.AddIndex(), указав в параметрах обратный порядок, и использовать ClientDataSet.IndexName



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.015 c
6-61734
krai
2002-10-21 15:44
2002.12.19
POP3 сервер


1-61687
mails
2002-12-08 05:05
2002.12.19
Как сделать так, что бы программа поддерживала скины винампа?


3-61403
BorisUK
2002-11-21 12:04
2002.12.19
Опять Вопрос по EhLib.... ПРО СОРТИРОВКУ ЛОКАЛЬНО!!!!


3-61496
berezne
2002-12-02 14:14
2002.12.19
Открытие DBF файла без индекса


14-61748
Некурящий
2002-11-25 21:01
2002.12.19
Курение...