Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值

cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号

cxGrid1DBTableView1.Controller.FocusedRow 当前行
cxGrid1DBTableView1.Controller.FocusedColumn 当前列
cxGrid1DBTableView1.Controller.FocusedColumnIndex 当前列号
cxGrid1DBTableView1.Controller.EditingItem 当前编辑中的单元框
cxGrid1DBTableView1.Controller.EditingController.Edit 当前的编辑框

在编辑状态下可以这样取当前单元格的值:
if cxGrid1DBTableView1.Controller.FocusedColumn.Editing then
ShowMessage(cxGrid1DBTableView1.Controller.EditingController.Edit.EditingValue)
else
cxGrid1DBTableView1.DataController.GetValue(cxGrid1DBTableView1.DataController.FocusedRecordIndex,
cxGrid1DBTableView1.Controller.FocusedItemIndex);

非编辑状态下可以这样取得单元格内的值:
OnCellClick事件代码: 
procedure   TForm1.cxGrid1DBTableView1CellClick( 
    Sender:   TcxCustomGridTableView; 
    ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; 
    AShift: TShiftState;   var   AHandled: Boolean); 
var 
    v : Variant; 
begin 
    v := ACellViewInfo.Value; 
end;

取列值
i := cxGrid1DBBandedTableView1.Controller.FocusedColumn.Index;
cxGrid1DBBandedTableView1.DataController.GetValue(cxGrid1DBBandedTableView1.Controller.SelectedRows[0].RecordIndex,i);
cxGrid1DBTableView1.DataController.Values[行,列]
取得焦点
cxGrid1DBTableView1.Columns[5].FocusWithSelection;
cxGrid1DBTableView1.Columns[4].Focused:=True;
得到当前点击的单元格的值
uses   Clipbrd;

OnCellClick事件代码:
procedure   TForm1.cxGrid1DBTableView1CellClick(
    Sender:   TcxCustomGridTableView;
    ACellViewInfo:   TcxGridTableDataCellViewInfo;   AButton:   TMouseButton;
    AShift:   TShiftState;   var   AHandled:   Boolean);
var
    v   :   Variant;
begin
    v   :=     ACellViewInfo.Value;//值
    Clipboard.AsText     :=     vartostr(v);//保存到clipboard
end;
cxGrid的DBTableView的名称为dgtv1

1. 返回选中的行数 gdtv1.DataController.GetSelectedCount;

2. 返回选中行的索引: gdtv1.DataController.GetSelectedRowIndex(0) , 表示第一个选中行的索引

3. 返回选中行的数据;

var
   I, J:Integer;
begin
   for I:=0 to gdtv1.DataController.GetSelectedCount - 1 do begin
     J := gdtv1.DataController.GetSelectedRowIndex(I);
     ShowMessage(VarToStr(gdtv1.DataController.GetValue(J, 0))); //选择中行的第列的值
   end;
end;

4. 获取cxGrid排序规则

const
   OrderArray: array[soNone..soDescending] of string = ('None', 'ASC', 'DESC');
var
   I: integer;
   S, OrderStr: string;
begin
   for I := 0 to gdtv1.SortedItemCount - 1 do begin
     if S <> '' then
       S := S + ', ';
     OrderStr := OrderStr + gdtv1.SortedItems[I].DataBinding.DefaultCaption + ' ';
     OrderStr := OrderStr + OrderArray[TcxDataSortOrder(gdtv1.SortedItems[I].SortOrder)];
     S := S + OrderStr;
   end;
   ShowMessage('ORDER BY ' + S);

5.获取多选的值

for   i   :=   0   to   cxgrid1.SelectedRows.Count-1   do
begin 
 cxgrid1.DataSource.DataSet.GotoBookmark(Pointer(cxgrid1.SelectedRows.Items[i])); //定位选中的字段

end;

6.//选择行的第1列的值

for I:=0 to cxGrid1DBTableView1.DataController.GetSelectedCount - 1 do
 begin
   J := cxGrid1DBTableView1.DataController.GetSelectedRowIndex(I);
   ShowMessage(VarToStr(cxGrid1DBTableView1.DataController.GetValue(J, 0)));

end;

7.获取所选行的值

with cxGrid1DBTableView1.Controller do
  begin

for i:=0 to SelectedRowCount-1   do
   begin
    SelectedRows[i].Focused:=True;
    ShowMessage(ADOQuery1.fieldbyname('mc').AsString);
   end;

end;

CXGRID用法(取行、列值;定位选中某行等等)的更多相关文章

  1. CXGRID用法(取行、列值;定位选中某行等等)[转]

    Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号 cxGrid1DB ...

  2. mysql数据库,取两列值中最大的一个值

    有表 zta,该表有两个字段 bf,ac,要取两个字段中,符合条件的最大的一个值,可用方法: select GREATEST(MAX(bf),MAX(ac))  maxvalue  from  zta ...

  3. Windows系统散列值获取分析与防范

    LM Hash && NTLM Hash Windows操作系统通常使用两种方法对用户的明文进行加密处理,在域环境中,用户信息存储在ntds.dit中,加密后为散列值.Windows操 ...

  4. GRID用法(取行、列值;定位选中某行等等)

    Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号 cxGrid1DB ...

  5. jqgrid取所有行的值,jqgrid取行对应列(name)的值,jqgrid取多行值对应列转json的方法

    1.jqgrid取所有行的值(#gridTable指对应table的ID) var obj = $("#gridTable").jqGrid("getRowData&qu ...

  6. pandas取dataframe特定行/列

    1. 按列取.按索引/行取.按特定行列取 import numpy as np from pandas import DataFrame import pandas as pd df=DataFram ...

  7. WPF{ComboBox绑定类对象, 下拉列显示的值,与取到的值}

    DisplayMemberPath 是用来显示下拉列表的值 SelectedValuePath是用来取得选中项的值. ComboBox绑定类对象, 下拉列显示的值,与取到的值 string. Join ...

  8. PB之取下来列修改后的值(AcceptText)

    AcceptText()功能 将“漂浮”在数据窗口控件上编辑框的内容放入到数据窗口控件的当前项中(主缓区中).在将数据放入到当前项之前,编辑框中的数据必须通过有效性规则检查语法  dwcontrol. ...

  9. DataGrid中取HyperLinkColumn列的值,处理DataGrid中绑定的特殊字符

    DataGrid中取HyperLinkColumn列的值. /// <summary> /// 对datagrid中标签进行编码,处理特殊字符 /// </summary> / ...

随机推荐

  1. 6 admin(注册设计)源码解析、单例模式

    1.单例模式 https://www.cnblogs.com/yuanchenqi/articles/8323452.html 单例模式(Singleton Pattern)是一种常用的软件设计模式, ...

  2. 4 jdngo vue-rotue

    . 执行linux命令 与mac命令   git base 3 初始化操作  页面加载完成,发起请求  window.onload

  3. python容器类型的协议

    1.协议(Protocols)与其他编程语言中的接口恒相似,它规定你哪些地方必须要定义,然而在python中的协议就显得不那么正式,事实上,在python中,协议更像是一种指南. 2.序列类型和映射类 ...

  4. Tomcat性能优化方案

    1. 提高JVM栈内存Increase JVM heap memory 你使用过tomcat的话,简单的说就是"内存溢出". 通常情况下,这种问题出现在实际的生产环境中.产生这种问 ...

  5. 廖雪峰git教程学习笔记2

    本地git仓库和github仓库之间的传输是通过SSH加密的,所以: 注册GitHub账号 创建SSH key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id ...

  6. docker run 和docker start的区别

    docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可. docker run相当于执行了两步操作:将镜像放入容器中(doc ...

  7. [leetcode]从中序与后序/前序遍历序列构造二叉树

    从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 po ...

  8. Docker--删除容器实例和镜像

    一.删除容器实例 使用命令docker rm 容器ID或者容器名 1.docker ps -a查询已有的实例 [root@cxt data]# docker ps -a 2.docker rm 容器I ...

  9. java多线程相关代码

    1.创建线程的三种方式 使用Thread package com.wpbxx.test; //1.自定义一个类,继承java.lang包下的Thread类 class MyThread extends ...

  10. v-if、v-show 指令

    HTML部分: <div id="app"> <button type="button" @click="flag=!flag&qu ...