【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了uOtherset.pas相关资料,希望对各位网友有所帮助!
unit uOtherset;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, DB, ADODB,
DBGridEh, Buttons, ExtCtrls, uModalbase;
type
TSortType = (stSort, stCap, stFolk, stLevel, stSpe);
TfrmOtherset = class(TfrmModalBase)
btnAdd: TBitBtn;
btnEdit: TBitBtn;
btnDel: TBitBtn;
btnClose: TBitBtn;
dgInfo: TDBGridEh;
dsInfo: TDataSource;
aqOInfo: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
rbSort: TRadioButton;
rbCap: TRadioButton;
rbFolk: TRadioButton;
rbLevel: TRadioButton;
rbSpe: TRadioButton;
Panel2: TPanel;
lblName: TLabel;
Label3: TLabel;
deSName: TDBEdit;
deDes: TDBEdit;
procedure btnEditClick(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure dsInfoDataChange(Sender: TObject; Field: TField);
procedure rbSortClick(Sender: TObject);
procedure rbCapClick(Sender: TObject);
procedure rbFolkClick(Sender: TObject);
procedure rbLevelClick(Sender: TObject);
procedure rbSpeClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
procedure SetState(ViewState: Boolean);
procedure SetSort(ASortType: TSortType);
public
{ Public declarations }
end;
var
frmOtherset: TfrmOtherset;
implementation
uses udata, uglobal, ustainfo, ustadetail;
{$R *.dfm}
procedure TfrmOtherset.SetState(ViewState: Boolean);
begin
deSName.ReadOnly := ViewState;
deDes.ReadOnly := ViewState;
btnDel.Visible := ViewState;
dgInfo.Enabled := ViewState;
if ViewState then
begin
btnAdd.Caption := '添 加';
btnEdit.Caption := '修 改';
dgInfo.Color := ViewColor;
deSName.Color := ViewColor;
deDes.Color := ViewColor;
end
else
begin
if aqOInfo.State = dsInsert then
btnAdd.Caption := '提 交'
else btnAdd.Caption := '确 定';
btnEdit.Caption := '取 消';
deSName.SetFocus;
deSName.Color := clWindow;
deDes.Color := clWindow;
end;
end;
procedure TfrmOtherset.SetSort(ASortType: TSortType);
var
sFilter: string;
begin
if aqOInfo.State in [dsInsert, dsEdit] then
begin
aqOInfo.CancelBatch();
SetState(True);
end;
case ASortType of
stSort:
begin
dgInfo.Columns[0].Title.Caption := '工 种';
lblName.Caption := '工种:';
sFilter := 'iflag=1';
end;
stCap:
begin
dgInfo.Columns[0].Title.Caption := '职 称';
lblName.Caption := '职称:';
sFilter := 'iflag=2';
end;
stFolk:
begin
dgInfo.Columns[0].Title.Caption := '民 族';
lblName.Caption := '民族:';
sFilter := 'iflag=3';
end;
stLevel:
begin
dgInfo.Columns[0].Title.Caption := '学 历';
lblName.Caption := '学历:';
sFilter := 'iflag=4';
end;
stSpe:
begin
dgInfo.Columns[0].Title.Caption := '专 业';
lblName.Caption := '专业:';
sFilter := 'iflag=5';
end;
end;
aqOInfo.Filtered := False;
aqOInfo.Filter := sFilter;
aqOInfo.Filtered := True;
if dgInfo.CanFocus then dgInfo.SetFocus;
end;
{以iflag字段标志分类: 1-工种, 2-积称, 3-民族, 4-学历, 5-专业}
procedure TfrmOtherset.FormCreate(Sender: TObject);
begin
Log.Write('进入其它信息设置模块');
DM.OpenQuery(aqOInfo, 'select sname, des, iflag from oinfo');
dsInfo.DataSet := aqOInfo;
SetState(True);
end;
procedure TfrmOtherset.FormShow(Sender: TObject);
begin
inherited;
SetSort(stSort);
end;
procedure TfrmOtherset.btnAddClick(Sender: TObject);
var
aqCheck: TADOQuery;
iFlag: Integer;
begin
if btnAdd.Caption = '添 加' then
begin
aqOInfo.Append;
SetState(False);
end
else
begin
if deSName.Text <> '' then
begin
if aqOInfo.State = dsInsert then
begin
if rbSort