ufrmcqgpsuserusertype.pas

来自「msc map program to control client of too」· PAS 代码 · 共 130 行

PAS
130
字号
unit ufrmCQGPSUserUserType;

interface

uses
  Windows, DB, Classes,
  cxTextEdit, cxControls, cxContainer, cxEdit, cxLabel, ExtCtrls, RzPanel,
  StdCtrls, cxButtons, Controls, ComCtrls, TbListView, dxDockPanel,
  dxDockControl, 
  uBaseDBForm, uBaseDBDefs,  ufrmCQGPSUserUserTypeEdit, cxLookAndFeelPainters,
  cxMemo, ImgList, dxNavBarCollns, dxNavBarBase, dxNavBar, ufrmBaseDBPurview,
  uBaseSystemNavForm, uBaseDBFormInfor, ufrmCQGPSUserTypeOperationType,
  ufrmCQGPSUserTypeDetailOperationType;
type

  TfrmCQGPSUserUserType = class(TBaseDBForm)
    dxDockSite1: TdxDockSite;
    dxLayoutDockSite1: TdxLayoutDockSite;
    dxDockPanel1: TdxDockPanel;
    lvOilType: TTbListView;
    Panel1: TPanel;
    dxDockSite2: TdxDockSite;
    dxDockPanel3: TdxDockPanel;
    dxLayoutDockSite3: TdxLayoutDockSite;
    gbPlan: TRzGroupBox;
    cxLabel1: TcxLabel;
    Name: TcxTextEdit;
    btnRefresh: TcxButton;
    btnEdit: TcxButton;
    btnDelete: TcxButton;
    btnAdd: TcxButton;
    ilSmall: TImageList;
    ilLarge: TImageList;
    cxLabel3: TcxLabel;
    UserUserTypeOperationType: TTbListView;
    cxLabel2: TcxLabel;
    UserUserTypeDetailOperationType: TTbListView;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure doOnMultiRefAfterDoubleClickEvent(_sender: TObject; _list_item: TListItem);
  public
    IsEdit: Boolean;
    IsAdd: Boolean;
    SelectedItem: TListItem;

    { Public declarations }
  end;

implementation

{$R *.dfm}

{ TfrmProtectSecurityUser }

procedure TfrmCQGPSUserUserType.doOnMultiRefAfterDoubleClickEvent(
  _sender: TObject; _list_item: TListItem);
var
  p_field_info       : PBaseDBFieldInfo;
  field_value_list   : TList;
  select_item_id     : Integer;
  is_new             : Boolean;
  is_selected        : Boolean;
begin
  if TComponent(_sender).Owner is TfrmCQGPSUserUserTypeEdit then
  begin
    is_new       := TfrmCQGPSUserUserTypeEdit(TComponent(_sender).Owner).IsNew;

    p_field_info := TBaseDBUtility.FindFieldByName('UserUserTypeDetailOperationType',
      FieldList);

    if not Assigned(p_field_info) then exit;

    field_value_list := TList(_list_item.Data);

    if Assigned(field_value_list) then
    begin
      is_selected := _list_item.ImageIndex = 0;

      select_item_id := TBaseDBUtility.ExtractRecordID(field_value_list);

      if select_item_id = -1 then exit;

      if is_new then
      begin
        if is_selected then
          DisplayMultiRefValue(
            TfrmCQGPSUserUserTypeEdit(TComponent(_sender).Owner).UserUserTypeDetailOperationType,
            p_field_info, 'TypeID', select_item_id, False)
        else
          ClearMultiRefValueSelectedStatus(
            TfrmCQGPSUserUserTypeEdit(TComponent(_sender).Owner).UserUserTypeDetailOperationType,
            'TypeID', select_item_id);
      end;
    end;
  end;
end;

procedure TfrmCQGPSUserUserType.FormCreate(Sender: TObject);
begin
  OnMultiRefAfterDoubleClickEvent := doOnMultiRefAfterDoubleClickEvent;

  DBListView      := lvOilType;
  ButtonNew       := btnAdd;
  ButtonEdit      := btnEdit;
  ButtonDelete    := btnDelete;
  ButtonRefresh   := btnRefresh;

  DBTableName     := 'MSC_UserType';
  DBTableCHNName  := '用户类型';

  EditFormClass := TfrmCQGPSUserUserTypeEdit;

  AddField('ID', '编号', 100, ftInteger, False, True, True);
  AddField('Name', '类型名称', 100, ftString, False, True);

  AddChildTableFieldMultiRef('UserUserTypeOperationType', '业务大类类型', 100, TfrmCQGPSUserTypeOPerationType,
    'MSC_UserTypeOperationTypeRelationShip', 'ID', 'UserTypeID', 'OperationTypeID',
    '', '', 'Name,TypeNO', True);

  AddChildTableFieldMultiRef('UserUserTypeDetailOperationType', '业务小类类型', 100, TfrmCQGPSUserTypeDetailOperationType,
    'MSC_UserTypeDetailOperationTypeRelationShip', 'ID', 'UserTypeID', 'OperationTypeID', 
    '', '', 'Name,TypeID,LevelNO', True);

  InitialInfo;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?