首页 > 其他分享 >cxGrid【过滤、排序】后获取选中记录的值和cxGrid空表判断

cxGrid【过滤、排序】后获取选中记录的值和cxGrid空表判断

时间:2024-11-14 17:18:55浏览次数:1  
标签:do begin Bill end cxGrid DataController 选中 空表

方法一:
使用函数GetRowValue
此方法在表格过滤、排序后也正常,

请注意:此代码顺序需要CXGRID的列顺序和ADOQUERY中SELECT的字段顺序一致,否则会取错。

procedure TfrmBillExtraction.pmGetBill_D_DatasClick(Sender: TObject);
var
  I,J : Integer;
begin
  with cxGDBTV_Bill_M.DataController,cxGDBTV_Bill_M.DataController.DataSet do
  begin
    for I := 0 to GetSelectedCount-1 do
    begin
      J := GetSelectedRowIndex(I);
      //取选中行,列名为sMergeNO的值
      ShowMessage(Trim(GetRowValue(GetRowInfo(J),FieldByName('sMergeNo').Index)));
    end;
  end;
end;

方法二:
使用函数:GetValue
此方法开了过滤、排序后不正常,请大家注意。

 1 procedure TfrmBillExtraction.pmGetBill_D_DatasClick(Sender: TObject);
 2 var
 3   I,J : Integer;
 4 begin
 5   with cxGDBTV_Bill_M.DataController,cxGDBTV_Bill_M.DataController.DataSet do
 6   begin
 7     for I := 0 to GetSelectedCount-1 do
 8     begin
 9       J := GetSelectedRowIndex(I);
10       //取选中行,列名为sMergeNO的值
11       ShowMessage(Trim(GetValue(J,FieldByName('sMergeNo').Index)));
12     end;
13   end;
14 end;

方法三:〖推荐〗
直接取表格的显示值,这个应该算是比较好的。经测试,拖动、分组、过滤等操作都不会影响取值。

1 for i:= 0 to AView.Controller.SelectedRowCount-1 do begin
2    showmessage(AView.DataController.GetDisplayText(AView.Controller.SelectedRows[i].RecordIndex,AView.DataController.GetItemByFieldName('sMergeNo').Index));
3 end;

判断cxGrid是否为空表

1 if cxGridDBTableView.ViewData.IsEmpty then
2 begin
3     Exit;
4 end;

 

标签:do,begin,Bill,end,cxGrid,DataController,选中,空表
From: https://www.cnblogs.com/Thenext/p/18546452

相关文章

  • element-ui table中使用type=‘selection‘ 实现禁用,勾选,默认选中不可修改 三种状态显
    element-uitable中使用type=‘selection’实现禁用,勾选,默认选中不可修改三种状态显示问题实现效果   需求1.status=‘CheckOk'时勾选框默认选中但不可修改勾选状态2.status=‘CheckFail'时勾选框禁用3.status=‘'时勾选框可以勾选实现思路采用el-table表格自......
  • vue3 深度响应式是否正常测试,以select options作为例子测试,select options后赋值是否
    <template><divclass='box'><templatev-for="(ditem,dindex)indata1":key="dindex"><el-selectv-model="ditem.value"clearablefilterable><el-optionv-for="ite......
  • Notepad++将搜索内容所在行选中,并进行复制等操作
    背景Notepad++在非常多的数据行内容中,按照指定内容检索,并定位到具体行,而后对内容行的数据进行复制、剪切、删除等处理动作。操作说明检索并标记所在行弹出搜索框:按下Ctrl+F。输入查找字符串:在搜索框中输入要查找的字符串。标记记录:在查找框顶部菜单中选择【标......
  • Delphi 中禁止 StringGrid 单元格被选中
    Delphi中禁止StringGrid单元格被选中环境Windows1123H2Delphi12Update1使用Delphi的StringGrid展示数据而不愿意某个单元格被选中时,曾经的手段是把选中位置调整到无效位置从而实际上使得单元格无法被选中。阅读文档偶然发现OnSelectCell事件提供了很简单也......
  • element 穿梭框el-transfer 实现上下移动选中的数据顺序
    代码实现<template><div><el-buttontype="primary"size="default"@click="upDown('up')">up</el-button><el-buttontype="primary"size="default"@click="upDo......
  • 选中多个窗口中一个,绘制蓝色边框
    1.需求描述多个播放的窗口,选中其中的一个,用蓝色线框标记出来,如下图所示;2.实现方式通过mousePressEvent函数判断是点击了哪个窗口,然后用paintEvent函数来绘制窗口的边框;#ifndefMULTLAYOUT_H#defineMULTLAYOUT_H#include<QWidget>#include"ui_MultLayout.h"#include......
  • iView Table分页 多选分页选中回显
    iView的Table组件前端在多选时如果点击下一页则丢失了上一页Table的多选数据(由于采用的后端分页,每次翻页会直接刷新为新数据)定义变量loading:false,columnsData:[],//表格表头talbeData:[],//表格数据params:{total:0,pa......
  • wpf ToggleButton选中效果和一个登录界面
    先看效果 我修改了ToggleButton的ControlTemplate,在ContentPresenter外面加了4个Border,控制4个Border的位置在ControlTemplate的左上、右上、左下、右下,选中时,触发4个边框的BorderThickness<SetterProperty="BorderThickness"TargetName="brd......
  • wpf ToggleButton选中效果
    先看效果 <StyleTargetType="{x:TypeToggleButton}"><SetterProperty="Background"Value="Transparent"/><SetterProperty="BorderBrush"Value="DarkGray"/><......
  • 望繁信科技入选中国信通院“铸基计划”,流程智能引领企业数字化变革
    近日,上海望繁信科技有限公司(以下简称“望繁信科技”)的数字北极星流程智能管理平台,在中国信息通信研究院(以下简称“信通院”)的评选中,荣获2024年度数据治理技术解决方案奖项,并入选《高质量数字化转型产品及服务全景图》。同时,望繁信科技的数字北极星平台成功首批入驻信通院铸基计划应......