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;

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

  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. CXGRID用法(取行、列值;定位选中某行等等)

    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. feel

    昨天我大脑中还在盘旋几个关键字:健康 选择 方向 方法今天只有选择了,健康 是你选择了一种生活习惯,你能掌控的也就是好的习惯,选择了一种正确的价值观,选择了一个好的开始方向有很多,你的选择是结果方法 ...

  2. C基础 数据序列化简单使用和讨论

     前言 C中对序列化讨论少, 因为很多传输的内容都有自己解析的轮子. 对于序列化本质是统一编码, 统一解码的方式. 本文探讨是一种简单的序列化方案. 保证不同使用端都能解析出正确结果. 在文章一开始, ...

  3. hdu 4613 Points<计算几何>

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4613 题意: 判断一个集合中的点能不能由另一个集合中的点,通过平移,旋转,放缩得到~ 思路:先求出集合中的 ...

  4. EMVTag系列16《AC响应数据》

    在一个联机交易中,要传送到发卡行的专有应用数据. 字段 长度(字节) 赋值 说明 长度 1 07 分散密钥索引 1 00 密文版本号 1 01 根据发卡行密钥版本设置 卡片验证结果(CVR) 4 03 ...

  5. 苏泊尔借助微软CRM提升客户满意度

    企业背景 作为中国最大.全球第二的炊具研发制造商和中国小家电领先品牌,品质和创新一是苏泊尔矢志追求的企业理念,从火红点无油烟锅的发明到能做柴火饭的球釜IH饭煲的面世,苏泊尔用产品的创新和品质的承诺,不 ...

  6. Mybatis 的日志管理

    Mybatis通过日志工厂提供日志信息,Mybatis内置的日志模版是log4j,commons.log,jdk log也可以通过slf4j简单日志模版结合log4j使用日志信息输出.具体选择哪个日志 ...

  7. [原创]PostgreSQL Plus Advanced Server监控工具PEM(三)

    三.使用PEM Client 在PEM Client中连接PEM Server 点击上图所示的按钮或点击菜单-> 第一次连接PEM Server,会有一次导入证书的操作,点击Yes按钮. 接下来 ...

  8. [转]论window和Linux之长短

    论window和Linux之长短 王垠 http://www.kerneltravel.net/jiqiao/whyLinux.htm — 摈弃 Windows 低效率的工作方式,发掘 Linux 身 ...

  9. C#判断字符串为空

    string str = null; if (string.IsNullOrWhiteSpace(str)) { MessageBox.Show("字符串为null"); } if ...

  10. java数据结构和算法------合并排序

      package iYou.neugle.sort; public class Merge_sort { public static void MergeSort(double[] array, i ...