我有一个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();
}
}
,但排序顺序不变。实际上,唯一更改的数据是所选行。我在做什么错了?
谢谢
山姆