⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frm_userrightedit.pas

📁 这是一个基于delphi平台的物流空运管理系统!
💻 PAS
字号:
unit Frm_UserRightEdit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Frm_Cargo, StdCtrls, Buttons, Grids, BaseGrid, AdvGrid, XPMenu;

type
  TFrmUserRightEdit = class(TFrmCargo)
    GridFunc: TAdvStringGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn4: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure GridFuncCanEditCell(Sender: TObject; ARow, ACol: Integer;
      var CanEdit: Boolean);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmUserRightEdit: TFrmUserRightEdit;

implementation

uses Frm_Main, Frm_UserEdit;

{$R *.dfm}

procedure TFrmUserRightEdit.BitBtn1Click(Sender: TObject);
Var
  I:Integer;
  BeCheck:Boolean;
begin
  inherited;
  for i:=1 to GridFunc.RowCount -1 do
    begin
       GridFunc.GetCheckBoxState(0,i,BeCheck);
       BeCheck:=Not BeCheck;
       GridFunc.SetCheckBoxState(0,i,BeCheck);
    end;
end;

procedure TFrmUserRightEdit.BitBtn2Click(Sender: TObject);
Var
  I:Integer;
begin
  inherited;
  for i:=1 to GridFunc.RowCount -1 do
    begin
       GridFunc.SetCheckBoxState(0,i,true);
    end;
end;

procedure TFrmUserRightEdit.BitBtn3Click(Sender: TObject);
Var
  SqlStr:String;
  I:Integer;
  CurrentRowCount:Integer;
begin
  inherited;
  if BitBtn3.Caption='显示全部' then
     begin
          SqLStr := 'Select '''' as state,FuncViewName,FuncName '+
          'From SysFunc order by SortPos';
          FrmMain.AddGridData(GridFunc,SqlStr);
          if (GridFunc.RowCount=2) and (GridFunc.Cells[1,1]='') then
          else
            begin
               for I := 1 to GridFunc.RowCount - 1 do
                 begin
                    if Pos(GridFunc.Cells[2,I],FrmUserEdit.RightsValue)>0 then
                      GridFunc.AddCheckBox(0,I,True,false)
                    else
                       GridFunc.AddCheckBox(0,I,false,false);
                 end;
             end;
          BitBtn3.Caption :='显示已选中';
    end
  else
    begin
          BitBtn3.Caption :='显示全部';
          if  FrmUserEdit.RightsValue='' then
            begin
               GridFunc.ClearNormalCells ;
               GridFunc.RowCount :=2;
               exit;
            end;
            SqLStr := 'Select '''' as state,FuncViewName,FuncName '+
            'From SysFunc where FuncName in (' + FrmUserEdit.RightsValue + ') order by SortPos';
            FrmMain.AddGridData(GridFunc,SqlStr);
            if (GridFunc.RowCount=2) and (GridFunc.Cells[1,1]='') then
            else
              begin
                 for I := 1 to GridFunc.RowCount - 1 do
                   begin
                     GridFunc.AddCheckBox(0,I,True,false);
                   end;

               end;
       end;
end;

procedure TFrmUserRightEdit.GridFuncCanEditCell(Sender: TObject; ARow,
  ACol: Integer; var CanEdit: Boolean);
begin
  inherited;
  IF ACol=0 then
   CanEdit:=True
  Else
   CanEdit:=False;
end;

procedure TFrmUserRightEdit.BitBtn4Click(Sender: TObject);
var
  i: Integer;
  FuncName: string;
  BeCheck: Boolean;
  SqlStr: string;
begin
  inherited;
  FuncName := '';
  for i := 1 to GridFunc.RowCount - 1 do
  begin
    GridFunc.GetCheckBoxState(0, i, BeCheck);
    if BeCheck then
    begin
       if FuncName='' then
          FuncName:= '''' + GridFunc.Cells[2, i] + ''''
       else
         FuncName := FuncName + ',''' + GridFunc.Cells[2, i] + '''';
    end;
  end;

  if FuncName ='' then
    begin
      FrmUserEdit.RightsValue := FuncName;
      FrmUserEdit.GridFunc.ClearNormalCells ;
      FrmUserEdit.GridFunc.RowCount :=2;
    end
  else
    begin
      FrmUserEdit.RightsValue := FuncName;
      SqlStr := 'Select FuncViewName From SysFunc where FuncName in(' + FrmUserEdit.RightsValue + ')   order by SortPos';
      Frmmain.AddGridData(FrmUserEdit.GridFunc, SqlStr);
    end;

  Close;
end;

procedure TFrmUserRightEdit.BitBtn5Click(Sender: TObject);
begin
  inherited;
  Close;
end;

end.

⌨️ 快捷键说明

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