实现单击行选中行,再单击取消选中行,而解决出现AV错误的全过程 TcxGrid

风神 2021-3-2 418

cxGrid自带的选择行功能,不能实现点击行来选择和反选行,只能点击CheckBox才可以,少了一点易用性。

产品经理要我实现此功能,我就开始研究,最初的代码是这样子的,我考虑通过OnCellClick事件来实现:

procedure TFrmGuiZeLibrary.GridViewListCellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
    ACellViewInfo.GridRecord.Selected := not ACellViewInfo.GridRecord.Selected
end;

运行效果如下,个别时候出现AV错误,经反复测试,是单元格显示Hit提示时候,点击到 Hit提示信息 会引发AV错误

  • 请认真观看下面的录像过程:



最终考虑思考再三,觉得换一个事件一个思路来搞一搞试试,竟然不再发生AV错误,代码如下:

(看帖请回帖,这是对付出者的基本尊重)



以上代码以后,不再出任何AV错误了,爽歪歪哈!!!!

本站原创文档,转载务必说明出处!



DelphiTop论坛申明 1、本网站名称:DelphiTop论坛  网址:www.DelphiTop.com
2、专注于互联网分享精神,专注收藏与分享。你薅网友,我就薅你。
3、本站资源,如发现链接失效,可联系QQ 16643506进行反馈,我们会第一时间更新。
最新回复 (13)
  • a200332 2021-3-2 0
    2
    好经验 不错不错
  • sadanboy2008 2021-3-2 0
    3
    好帖子,谢谢楼主分享
  • 流浪 2021-3-3 0
    4
                      瞅瞅           瞅瞅      瞅瞅     
  • w8j8y8 2021-3-3 0
    5
    好经验 不错不错
  • 西湖十月夜 2021-3-8 0
    6
    来看看的  学习
  • smkf225 2021-3-10 0
    7
    学习学习学习
  • 炉边 2021-4-1 0
    8
    学习学习学习
  • Aaron 2021-4-5 0
    9
    谢谢谢谢谢谢
  • Zlpsoft 2021-4-27 0
    10
    好帖子,谢谢楼主分享
  • ghs_79 2021-6-7 0
    11
    谢谢楼主分享
  • sadanboy2008 2021-6-7 0
    12
    太好了,感谢楼主的分享
  • songjg 2021-7-4 0
    13
    谢谢楼主分享
  • jianmufei 11月前 0
    14
    学习学习学习
返回