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

Вниз

Сортировка в TClientDataSet   Найти похожие ветки 

 
serg128   (2004-08-03 09:49) [0]

Народ, подскажите, как можно сделать сортировку данных в TClientDataSet (без участия SQL)? Если можно - кусок кода. Пасиба.


 
Nikolay M. ©   (2004-08-03 10:03) [1]

F1 по TClientDataSet.IndexDefs, например.


 
Romkin ©   (2004-08-03 10:20) [2]

Какой код?! IndexFieldNames - через ; без пробелов вписать имена полей. и все.


 
Nikolay M. ©   (2004-08-03 10:55) [3]


> Romkin ©   (03.08.04 10:20) [2]
> Какой код?!

Он хочет по клику на Title DBGrid-a DataSet сортировать, имхо :)
Так что ему это программно нужно :)


 
Romkin ©   (2004-08-03 10:59) [4]

Nikolay M. ©  (03.08.04 10:55) [3] Телепат, да?
http://rsdn.ru/article/db/midas.xml
Если мне память не изменяет, то в клиенте для этой статьи я сделал сортировку при нажатии на заголовок...


 
serg128   (2004-08-03 11:14) [5]

> Romkin

там нету сортировки


 
serg128   (2004-08-03 11:17) [6]

У меня есть такой код (по щелчку на заголовке), но он иногда работает не корректно (появляются левые записи). Подскажите, где ошибка.

   if((ioCur!=smNone) && (dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->IndexName != ""))
     dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->DeleteIndex(dynamic_cast<TClientDataSet*>(DBG->DataSource->Data Set)->IndexName);
   switch (ioCur)
   {
     case smUp:
       dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->AddIndex(Field->FullName, Field->FullName, TIndexOptions()<<ixDescending, "", "", 0);
       dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->IndexName = Field->FullName;
       SortStr = Field->FullName;
       ioCur = smDown;
       break;
     case smDown:
       if(ioCur!=smNone && dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->IndexName!="")
         dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->DeleteIndex(dynamic_cast<TClientDataSet*>(DBG->DataSource->Data Set)->IndexName);
       dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->IndexName="";
       SortStr = Field->FullName;
       ioCur = smNone;
       break;
     case smNone:
       dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->AddIndex(Field->FullName, Field->FullName, TIndexOptions(), "", "", 0);
       dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->IndexName = Field->FullName;
       SortStr = Field->FullName;
       ioCur = smUp;
       break;
   }


 
serg128   (2004-08-03 17:03) [7]

Ну помогите ж блин!!!!


 
Nikolay M. ©   (2004-08-03 17:21) [8]


> Romkin ©   (03.08.04 10:59) [4]
> Nikolay M. ©  (03.08.04 10:55) [3] Телепат, да?

Ага :)


> Если мне память не изменяет

Изменяет :(


> есть такой код (по щелчку на заголовке), но он иногда работает
> не корректно (появляются левые записи).

На первый взгляд все правильно. Может, DBGrid остается неперерисованным? Проскролль его вверх-вниз.


 
serg128   (2004-08-03 17:35) [9]

Проскролил -> непомогает :(



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

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

Наверх




Память: 0.49 MB
Время: 0.088 c
1-1092392679
doodle
2004-08-13 14:24
2004.08.29
RandomRange выдает Undeclared identifier: RandomRange .


3-1091775006
MVVD
2004-08-06 10:50
2004.08.29
Копирование из локала на сервер


3-1091834330
yozh_programmer
2004-08-07 03:18
2004.08.29
Извлечение данных из готового набора!


10-1033633458
Comwad
2002-10-03 12:24
2004.08.29
Опять про злосчастный "Assertion faild: _reply_message!=(..."


1-1091979772
nika_ufc
2004-08-08 19:42
2004.08.29
извлечение информаций из фонта