📄 urightsmanage.pas
字号:
unit uRightsManage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, DBGridEh, ActnList, ExtCtrls, GridsEh;
type
TRightsManageFrm = class(TForm)
adotUser: TADOTable;
adotRights: TADOTable;
dsRights: TDataSource;
adotModule: TADOTable;
adotRightsModuleName: TStringField;
dbgehRights: TDBGridEh;
adotUserUserName: TWideStringField;
adotUserPassword: TWideStringField;
adocMain: TADOConnection;
Splitter1: TSplitter;
dbgModule: TDBGridEh;
dsUser: TDataSource;
adotUserTrueName: TStringField;
adotUserUserId: TStringField;
adotRightsUserId: TStringField;
adotRightsModuleId: TStringField;
adotRightsReadOnly: TBooleanField;
procedure adotUserAfterScroll(DataSet: TDataSet);
procedure acPostExecute(Sender: TObject);
procedure acAddModuleExecute(Sender: TObject);
procedure acDelModuleExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses uAddModuleDlg;
{$R *.dfm}
procedure TRightsManageFrm.adotUserAfterScroll(DataSet: TDataSet);
begin
with adotRights do
begin
Filtered := False;
Filter := 'UserID=' + adotUser.FieldByName('UserID').AsString;
Filtered := True;
end;
end;
procedure TRightsManageFrm.acPostExecute(Sender: TObject);
begin
adotRights.Post;
end;
procedure TRightsManageFrm.acAddModuleExecute(Sender: TObject);
var
i: Integer;
bkList: TBookmarkListEh;
begin
with TAddModuleDlg.Create(Self) do
try
if ShowModal = mrOK then
begin
bkList := dbgehModule.SelectedRows;
with adotRights do
begin
for i := 0 to bkList.Count-1 do
begin
adotModuleSelect.Bookmark := bkList[i];
if VarIsNull(Lookup('UserID;ModuleID',
VarArrayOf ([adotUser.FieldByName('UserID').AsInteger,
adotModuleSelect.FieldByName('ID').AsInteger]), 'ModuleID')) then
begin
Append;
FieldByName('UserID').AsInteger := adotUser.FieldByName('UserID').AsInteger;
FieldByName('ModuleID').AsInteger := adotModuleSelect.FieldByName('ID').AsInteger;
FieldByName('ReadOnly').AsBoolean := True;
end;
end;
end;
end;
finally
Free;
end;
end;
procedure TRightsManageFrm.acDelModuleExecute(Sender: TObject);
var
i: Integer;
bkList: TBookmarkListEh;
begin
bkList := dbgehRights.SelectedRows;
for i := bkList.Count-1 downto 0 do
begin
adotRights.Delete;
end;
end;
procedure TRightsManageFrm.FormShow(Sender: TObject);
begin
dbgModule.DataSource.DataSet.Open;
dbgehRights.DataSource.DataSet.Open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -