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

喜欢编程朋友 2014-02-10 04:52:30
今天使用cxGrid组件写一个程序,没有连接数据库,直接用cxGridTableView,建了一个表格,然后写了几行数据,点击列头进行排序,发现,表格里的行进行了对应的排序。但是,奇怪的事情发生了,我点击删除按钮(代码:
i:=cxGridTableView1.DataController.GetSelectedRowIndex(selectRowIndex);
cxGridTableView1.DataController.DeleteRecord(i);)
选择第一行,之后,点删除按钮。结果发现删除的第一行数据是没有排序之前的第一行的数据,而不是排序之后第一行的数据,看来cxGrid排序时候,只是表面的排序,而实际的数据没有排序。所以打印出来的表格也是没有排序之前的表格,而不是排序之后的。主要是这个表格没有连接数据库,用的TableView,而不是DBTableView。所以,现在这个问题,不知道怎么解决??有遇到这个问题的达人没有,求帮忙解决。求赐教!高分!
...全文
496 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sundayzhao 2014-02-12
  • 打赏
  • 举报
回复
没研究过,不知道原因,但是解决这个问题可以考虑数据集中增加一个主键,删除时通过tablewiew显示的内容,然后对数据集进行locate后删除,不就行了。
喜欢编程朋友 2014-02-11
  • 打赏
  • 举报
回复
楼上的代码,先排序之后,再删除也能删除对应记录吗?我遇到的问题就是,排序后再删除,明明删除第一行,实际删除的是第5行数据,而排序后第一行的数据没有删除。你的这个代码能解决吗?
踏雪无痕 2014-02-10
  • 打赏
  • 举报
回复

var
  I: Integer;
begin
  I := cxGridTableView1.Controller.SelectedRows[0].RecordIndex;
 //这个0就是单选的第一个被选择的索引行,如果是多选的话,就把0替换成J,嵌套一个FOR循环J,即批量删除
  cxGridTableView1.DataController.DeleteRecord(I);
end;
内容概要:本文研究了基于元胞神经网络配流与DQN强化学习的公交线网扰动韧性恢复方法,并提供了Matlab代码实现。该研究针对城市公交系统在遭遇线路中断、客流激增等突发扰动时的服务中断问题,提出一种融合元胞神经网络与深度Q网络(DQN)的智能恢复框架。通过元胞神经网络对城市交通网络进行网格化建模与动态客流分布模拟,精确刻画扰动下的乘客出行行为演变;结合DQN强化学习算法,构建调度决策模型,实现对车辆调度、线路调整和资源再分配等控制策略的自主学习与优化。该方法能够在复杂、不确定的交通环境中自适应地生成最优恢复方案,显著提升公交系统的韧性、鲁棒性与应急响应能力。研究通过仿真实验验证了该框架在多种扰动场景下的有效性与优越性。; 适合人群:具备一定编程基础,熟悉Matlab和强化学习理论,从事智能交通系统、城市规划、运筹优化或公共交通运输管理相关研究的研究生、科研人员及工程师。; 使用场景及目标:①应用于城市公共交通应急管理,提升系统对突发事件的快速响应与服务能力恢复水平;②为智慧交通系统中的动态调度、资源优化与韧性评估提供先进的算法支持;③作为深度强化学习与元胞自动机在复杂交通系统建模中交叉应用的教学案例与科研参考。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实验,深入理解元胞神经网络与DQN的集成机制,并尝试在不同扰动场景下调试参数以观察模型表现,从而掌握其在实际系统中的部署逻辑与优化路径。

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧