关于cxGridTableView表格按照某列进行排序后,结果发现DataController 里面的数据没有排序。如何解决

关于cxGridTableView表格按照某列进行排序后,结果发现DataController 里面的数据没有排序。怎么解决?
今天使用cxGrid组件写一个程序,没有连接数据库,直接用cxGridTableView,建了一个表格,然后写了几行数据,点击列头进行排序,发现,表格里的行进行了对应的排序。但是,奇怪的事情发生了,我点击删除按钮(代码:
i:=cxGridTableView1.DataController.GetSelectedRowIndex(selectRowIndex);
cxGridTableView1.DataController.DeleteRecord(i);)
选择第一行,之后,点删除按钮。结果发现删除的第一行数据是没有排序之前的第一行的数据,而不是排序之后第一行的数据,看来cxGrid排序时候,只是表面的排序,而实际的数据没有排序。所以打印出来的表格也是没有排序之前的表格,而不是排序之后的。主要是这个表格没有连接数据库,用的TableView,而不是DBTableView。所以,现在这个问题,不知道怎么解决??有遇到这个问题的达人没有,求帮忙解决。求赐教!高分!
------解决方案--------------------

var
  I: Integer;
begin
  I := cxGridTableView1.Controller.SelectedRows[0].RecordIndex;
 //这个0就是单选的第一个被选择的索引行,如果是多选的话,就把0替换成J,嵌套一个FOR循环J,即批量删除
  cxGridTableView1.DataController.DeleteRecord(I);
end;