|
|
|
Сортировка в TClientDataSet
|
|||
|---|---|---|---|
|
#18+
Народ, подскажите, как можно сделать сортировку данных в 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; } подскажите, в чем дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:46 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32633050&tid=2034594]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 371ms |

| 0 / 0 |
