zoukankan      html  css  js  c++  java
  • cxGrid 循环选择条目

    Delphi DevExpress CxGrid 循环选择条目 整理出来的,直接复制粘贴即可使用

    以下是从网络上复制粘帖到的,实践证明,利用以下代码进行获取选择行是错误的。

    当我们利用 CxGrid进行排序后,它选的索引序号还是未排序前的,会导致选择错误、混乱的条目。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var
      i,j:Integer;
    begin
     with cxgridview.Controller do
      begin
       for i:=0 to SelectedRowCount-1 do
        begin
         j := cxgridview.DataController.GetSelectedRowIndex(I);
        //上文GetSelectedRowIndex不会随CxGrid排序而改变,导致造成严重后果
         //ShowMessage(VarToStr(cxgridview.DataController.GetValue(j, 0))); //循环显示第0列
        end;
       end;
      end;
    end;

     

    以下才是正确的:

    recommand

    CellClick事件中通过如下代码获取到真正的CxGrid序号

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    //获取单行选择的某列值,可写到CellClick事件中
    with cxGrid1DBTableView1.DataController.DataSet do
    begin
      //此处Current_Record获取到的字符串不会随CxGrid排序而改变
      Current_Record := FieldByName('CodeData').AsString; 
    end;
     
    //获取多行选择的某列值,grdData为TableView的Name,RzMemo会显示出所有行的CodeData值
    try
        with grdData.Controller do
          begin
          for i:=0 to SelectedRowCount-1   do
            begin
              grdData.Controller.FocusedRow  := grdData.Controller.SelectedRows[i];
              RzMemo.Lines.add(grdData.DataController.DataSet.FieldByName('CodeData').AsString);
            end;
          end;
      except
      end;

     

  • 相关阅读:
    使用openssl搭建CA并颁发服务器证书
    PKCS#1规范阅读笔记2--------公私钥ASN.1结构
    PKCS#1规范阅读笔记1--------基本概念
    Chrome 扩展机制
    Docker部署zookeeper集群和kafka集群,实现互联
    ASP.NET Identity实现分布式Session,Docker+Nginx+Redis+ASP.NET CORE Identity
    Transmission添加SSL访问
    重磅来袭,水木PC客户端全面改版,欢迎使用!
    CLR via C# 3rd
    IL命令
  • 原文地址:https://www.cnblogs.com/m0488/p/6609742.html
Copyright © 2011-2022 走看看