📄 frm_userrightedit.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 + -