Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



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


1-1092645668
Bizon`s
2004-08-16 12:41
2004.08.29
Update Delphi6


14-1092352257
nasty
2004-08-13 03:10
2004.08.29
стереотипы...


14-1091636877
Piter
2004-08-04 20:27
2004.08.29
Посоветуйте Гостевую книгу на php написанную


3-1091797083
Zelius
2004-08-06 16:58
2004.08.29
Будущее Jet




   Наверх