使用TFDTable对网格中的数据进行排序

时间:2018-11-08 17:10:54

标签: delphi c++builder firedac delphi-10.2-tokyo c++builder-10.2-tokyo

我有一个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();
    }
}

,但排序顺序不变。实际上,唯一更改的数据是所选行。我在做什么错了?

谢谢
山姆

0 个答案:

没有答案