首页 > 其他分享 >delphi TcxGrid制作一个动态授权修改数据的功能

delphi TcxGrid制作一个动态授权修改数据的功能

时间:2022-10-18 08:33:54浏览次数:54  
标签:物料 TcxGrid TV delphi Controller colSG 授权 Editing Options

需求明细:

  1.表格 TV申购清单,默认OptionsData--Editing:true 可写权限

  2.默认 列属性 [申购数量,单重,用途,需求日期] Options---Editing:true 常规情况下,这几列是可自由修改的.

  3.当物料代码前四位为'temp'时, 列  [物料名称,规格型号,单位] 变为可写属性(常规的那几列保持不变)

表格 [TV申购清单]:

 

 

选择表格 TV申购清单 ---事件---OnCellClik事件

procedure TFraModleBase.TV申购清单CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
var
  ColumnIndex: Integer;
begin
  with TV申购清单 do
  begin
  //先锁定列,再按情况来开放各自的修改权限.
    colSG物料名称.Options.Editing := False;
    colSG规格型号.Options.Editing := False;
    colSG单位.Options.Editing := False;

    ColumnIndex := Controller.FocusedcolumnIndex;    //取得列的序号

    //如果当前列为可编辑,则退出
    if columns[ColumnIndex].Options.Editing = True then
      Exit;

     //如果物料代码是temp开头,则允许额外修改物料名称,规格型号,单位
    if (Copy(DM.FD申购清单.FieldByName('物料代码').AsString, 1, 4) = 'temp') then
    begin
      if ColumnIndex in [colSG物料名称.Index, colSG规格型号.Index, colSG单位.Index] then
      begin
        Controller.FocusedColumn.Options.Editing := True;  //设置权限为可写
        Controller.EditingController.ShowEdit(Controller.FocusedColumn);  //进入编辑状态
      end;
    end;
  end;

这一句代码,我卡了大半天,最后还是群里的大佬指点了一下才能写出来,这方法藏得太深啦

Controller.EditingController.ShowEdit(Controller.FocusedColumn); //进入编辑状态

 


 

 

标签:物料,TcxGrid,TV,delphi,Controller,colSG,授权,Editing,Options
From: https://www.cnblogs.com/yoooos/p/16801312.html

相关文章

  • Delphi TWebBrowser编程简述
       Delphi3开始有了TWebBrowser构件,不过那时是以ActiveX控件的形式出现的,而且需要自己引入,在其后的4.0和5.0中,它就在封装好shdocvw.dll之后作为Internet构件组之一......
  • delphi Twebbrowser IE版本选择
    资料来源网上,如有异议请联系删除。经过验证和修改。twebbrowser如果不设置,默认使用系统默认核心,一般是IE8。由于IE8版本较低,在特殊情况下,浏览网页会发生异常错误,不兼容等......
  • Postman 中 Authorization 授权机制
    Inheritingauth继承认证将请求添加到集合和文件夹中,则可以指定身份验证详细信息以在整个组中重复使用选中对应的认证机制Noauth无授权认证BearerToken令......
  • EasyNVR接入EasyNVS显示授权超时是什么原因?如何解决?
    EasyNVS上云管理平台具备汇聚与管理EasyGBS、EasyNVR等平台的能力,可以将接入的视频资源实现统一的视频能力输出,并能进行远程可视化运维等管理功能,还能解决设备现场没有固定......
  • Delphi TWebBrowser编程简述(保存MHT,页面字体,获得焦点,命令操作,发送回车键...)
       Delphi3开始有了TWebBrowser构件,不过那时是以ActiveX控件的形式出现的,而且需要自己引入,在其后的4.0和5.0中,它就在封装好shdocvw.dll之后作为Internet构件组之一......
  • delphi FormatFloat随笔
    用FormatFloat来处理浮点数,是一个很好的选择.我这里只讲一种语法:FormatFloat(格式,数值)第一坑:第二参数为数值类型,别传个文本值进去.第二坑:返回值是一......
  • delphi 正则表达式的使用方法
    本文写于2022-10-14,D版本10.3.3引用单元:uses System.RegularExpressions1、TRegEx.Match方法Match()方法总是获取满足条件的第一个匹配,而不关心满足条件的匹配有多......
  • mysql用户授权
    查看mysql库user表结构>descmysql.user;查看mysql用户和密码>selectUser,Host,authentication_stringfrommysql.user;查看crm_user'@'10.%.%.%'授权>sh......
  • vs2022加载github copilot报错--- 引发异常的上一位置中堆栈跟踪的末尾 ---///NotSign
    vs2022加载githubcopilot报错---引发异常的上一位置中堆栈跟踪的末尾---///NotSignedIn,如图所示  问题在于网络上,去"C:\Windows\System32\drivers\etc\hosts"修改g......
  • 微信公众号网页授权获取用户信息的流程
    官网文档网页授权流程分为四步:引导用户进入授权页面同意授权,获取code通过code换取网页授权access_token(与基础支持中的access_token不同)(我的需求只需要到第二部)如果......