Сортировка данных в сетке с использованием TFDTable - PullRequest
0 голосов
/ 08 ноября 2018

У меня TFDTable подключен к TGrid с использованием LiveBindings, и данные отображаются отсортированными по индексам в самой таблице. Я хочу иметь возможность изменить порядок сортировки, нажав на заголовок сетки. Вот что я сделал до сих пор:

void __fastcall TmainFrm::Grid7HeaderClick(TColumn *Column)
{
    if(IBS_EntityTable->IndexName == Column->Header)
        return; // if it is being sorted by the same column, don't do anything
    try
    {
        TFDIndex* pIndex;

        IBS_EntityTable->Indexes->BeginUpdate();
        IBS_EntityTable->Indexes->Clear();
        pIndex = IBS_EntityTable->Indexes->Add();
        pIndex->Name = Column->Header;
        pIndex->Fields = Column->Header;
        pIndex->Active = true;
        IBS_EntityTable->IndexName = pIndex->Name;
    }
    __finally
    {
      IBS_EntityTable->Indexes->EndUpdate();
      IBS_EntityTable->Refresh();
    }
}

но порядок сортировки не меняется. Фактически единственные данные, которые действительно изменяются, это выбранная строка. Что я делаю не так?

Спасибо
Сэм

...