Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сортировка в TClientDataSet / 1 сообщений из 1, страница 1 из 1
03.08.2004, 12:46
    #32633050
Serega128
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка в TClientDataSet
Народ, подскажите, как можно сделать сортировку данных в TClientDataSet (без участия SQL)? Если можно - кусок кода. Пасиба.

Есть такой код, но он работает немного некорректно (иногда вылазят левые записи):

if((ioCur!=smNone) && (dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->IndexName != ""))
dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->DeleteIndex(dynamic_cast<TClientDataSet*>(DBG->DataSource->DataSet)->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->DataSet)->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;
}

подскажите, в чем дело?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сортировка в TClientDataSet / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]