📄 frm_filenoassignuser.~pas
字号:
unit Frm_FileNoAssignUser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Frm_Cargo, XPMenu, StdCtrls, Buttons, Grids, BaseGrid, AdvGrid;
type
TFrmFileNoAssignUser = class(TFrmCargo)
GridUserID: TAdvStringGrid;
GridFileNO: TAdvStringGrid;
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
procedure FormActivate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure GridUserIDRowChanging(Sender: TObject; OldRow,
NewRow: Integer; var Allow: Boolean);
procedure GridFileNOCanEditCell(Sender: TObject; ARow, ACol: Integer;
var CanEdit: Boolean);
private
UserIDCurrentRow: Integer;
{ Private declarations }
public
{ Public declarations }
end;
var
FrmFileNoAssignUser: TFrmFileNoAssignUser;
implementation
uses Frm_Main;
{$R *.dfm}
procedure TFrmFileNoAssignUser.FormActivate(Sender: TObject);
var
Sqlstr: string;
I: Integer;
begin
inherited;
SqlStr := 'Select UserID,LoginName from FuncRights';
FrmMain.AddGridData(GridUserID, SqlStr);
UserIDCurrentRow := 1;
if GridUserID.Cells[0, 1] <> '' then
begin
SqlStr := 'Select '''' as state,a.FileNoRule,a.FileNoDesc From FileNoInfo a,UserFileNo b Where b.FileNoPre=a.FileNoPre and b.UserID=''' + GridUserID.Cells[0, 1] + '''';
Frmmain.AddGridData(GridFileNO, SqlStr);
if (GridFileNO.RowCount = 2) and (GridFileNO.Cells[1, 1] = '') then
else
begin
for i := 1 to GridFileNO.RowCount - 1 do
GridFileNO.AddCheckBox(0, i, True, false);
end;
end;
end;
procedure TFrmFileNoAssignUser.BitBtn1Click(Sender: TObject);
Var
I:Integer;
BeCheck:Boolean;
begin
inherited;
for i:=1 to GridFileNo.RowCount -1 do
begin
GridFileNo.GetCheckBoxState(0,i,BeCheck);
BeCheck:=Not BeCheck;
GridFileNo.SetCheckBoxState(0,i,BeCheck);
end;
end;
procedure TFrmFileNoAssignUser.BitBtn2Click(Sender: TObject);
var
I: Integer;
begin
inherited;
for i := 1 to GridFileNo.RowCount - 1 do
begin
GridFileNo.SetCheckBoxState(0, i, true);
end;
end;
procedure TFrmFileNoAssignUser.BitBtn3Click(Sender: TObject);
var
Sqlstr: string;
I: Integer;
CurrentRowCount: Integer;
begin
inherited;
if BitBtn3.Caption = '显示全部' then
begin
SqlStr := 'Select '''' as state,a.FileNoPre,a.FileNoDesc from FileNoInfo a,' +
'UserFileNO b,FuncRights c where b.filenopre=a.filenopre and b.userid=c.userid and' +
' b.UserID=''' + GridUserID.Cells[0, UserIDCurrentRow] + '''';
FrmMain.AddGridData(GridFileNO, SqlStr);
if (GridFileNO.RowCount = 2) and (GridFileNO.Cells[1, 1] = '') then
else
begin
for I := 1 to GridFileNO.RowCount - 1 do
begin
GridFileNO.AddCheckBox(0, I, True, false);
end;
end;
CurrentRowCount := GridFileNO.RowCount;
if (CurrentRowCount = 2) then
begin
if GridFileNO.Cells[1, 1] = '' then
CurrentRowCount := 1
else
CurrentRowCount := 2;
end;
SqlStr := 'Select '''' as state,a.FileNoPre,a.FileNoDesc from FileNoInfo a where a.filenopre not in (select ' +
'FileNOPre from userfileno where userid=''' + GridUserID.Cells[0, UserIDCurrentRow] + ''')';
FrmMain.AddGridData(GridFileNO, SqlStr, 1, True);
if (GridFileNO.RowCount = 2) and (GridFileNO.Cells[1, 1] = '') then
else
begin
for I := CurrentRowCount to GridFileNO.RowCount - 1 do
begin
GridFileNO.AddCheckBox(0, I, false, false);
end;
end;
BitBtn3.Caption := '显示已选中';
end
else
begin
BitBtn3.Caption := '显示全部';
SqlStr := 'Select '''' as state,a.FileNoPre,a.FileNoDesc from FileNoInfo a,' +
'UserFileNO b,FuncRights c where b.filenopre=a.filenopre and b.userid=c.userid and' +
' b.UserID=''' + GridUserID.Cells[0, UserIDCurrentRow] + '''';
FrmMain.AddGridData(GridFileNO, SqlStr);
if (GridFileNO.RowCount = 2) and (GridFileNO.Cells[1, 1] = '') then
else
begin
for i := 1 to GridFileNo.RowCount - 1 do
begin
GridFileNO.AddCheckBox(0, i, true, false);
end;
end;
end;
end;
procedure TFrmFileNoAssignUser.GridUserIDRowChanging(Sender: TObject;
OldRow, NewRow: Integer; var Allow: Boolean);
var
SqlStr: string;
i: Integer;
begin
inherited;
UserIDCurrentRow := NewRow;
SqlStr := 'Select '''' as state,a.FileNoPre,a.FileNoDesc from FileNoInfo a,' +
'UserFileNO b,FuncRights c where b.filenopre=a.filenopre and b.userid=c.userid and' +
' b.UserID=''' + GridUserID.Cells[0, UserIDCurrentRow] + '''';
FrmMain.AddGridData(GridFileNO, SqlStr);
if (GridFileNO.RowCount = 2) and (GridFileNO.Cells[1, 1] = '') then
else
begin
for i := 1 to GridFileNo.RowCount - 1 do
begin
GridFileNO.AddCheckBox(0, i, true, false);
end;
end;
BitBtn3.Caption:='显示全部';
end;
procedure TFrmFileNoAssignUser.GridFileNOCanEditCell(Sender: TObject; ARow,
ACol: Integer; var CanEdit: Boolean);
begin
inherited;
if ACol = 0 then
CanEdit := True
else
CanEdit := False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -