📄 base2infowageitem.pas
字号:
unit Base2InfoWageItem;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
EditForm, StdCtrls, Buttons, ComCtrls, DBData, ExtCtrls, dxCntner,
dxEditor, dxEdLib, dxDBELib, dxExEdtr, Db, ADODB, KsControls, KsButtons,
KsSkinButtons, KsHooks, KsForms, KsSkinForms, KsLabels, KsSkinLabels,
KsPanels, KsSkinPanels;
type
TfrmBase2InfoWageItem = class(TfrmEditForm)
bbAdd: TSeSkinButton;
bbOk: TSeSkinButton;
bbNo: TSeSkinButton;
Panel1: TSeSkinPanel;
lblName: TSeSkinLabel;
Label12: TSeSkinLabel;
SeSkinLabel1: TSeSkinLabel;
edtName: TdxDBEdit;
edtType: TdxDBPickEdit;
dxDBEdit1: TdxDBEdit;
chk1: TdxDBCheckEdit;
chk2: TdxDBCheckEdit;
SeSkinLabel2: TSeSkinLabel;
edtExp: TdxDBButtonEdit;
procedure bbNoClick(Sender: TObject);
procedure bbOkClick(Sender: TObject);
procedure bbAddClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure edtExpButtonClick(Sender: TObject; AbsoluteIndex: Integer);
private
{ Private declarations }
bReturn: Boolean;
lMode: Integer;
sItem: string;
function CheckEdit: Boolean;
procedure MainShow;
procedure LoadData;
public
{ Public declarations }
end;
function Base2InfoWageItemShow(l1Mode: Integer): Boolean;
implementation
uses SysPublic, Base2Info, ExpressionForm;
{$R *.DFM}
function Base2InfoWageItemShow(l1Mode: Integer): Boolean;
var
frmBase2InfoWageItem: TfrmBase2InfoWageItem;
begin
frmBase2InfoWageItem := TfrmBase2InfoWageItem.Create(Application);
with frmBase2InfoWageItem do
begin
lMode := l1Mode;
MainShow;
Result := bReturn;
Free;
end;
end;
procedure TfrmBase2InfoWageItem.MainShow;
begin
bReturn := false;
Caption := '工资项目定义';
DataSet:=edtName.DataSource.DataSet;
LoadData;
ShowModal;
end;
procedure TfrmBase2InfoWageItem.LoadData;
var
sSql, sField1, sFiled2, sFiled3: string;
begin
sItem := '';
sSql := 'SELECT [ID],[Name] FROM WageItem';
sField1 := 'Name';
TableToStrings(sSql, sField1, sFiled2, sFiled3, #13);
if sField1 <> '' then
sItem := sField1;
if chk1.State = cbsGrayed then DataSet.FieldByName(chk1.DataField).AsString :=
chk1.ValueChecked;
if chk2.State = cbsGrayed then DataSet.FieldByName(chk2.DataField).AsString :=
chk2.ValueUnchecked;
if edtType.ItemIndex < 0 then DataSet.FieldByName(edtType.DataField).AsString :=
edtType.Items.Strings[0];
end;
procedure TfrmBase2InfoWageItem.bbNoClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmBase2InfoWageItem.bbOkClick(Sender: TObject);
begin
inherited;
if not CheckEdit then
Exit;
bReturn := true;
Close;
end;
function TfrmBase2InfoWageItem.CheckEdit: Boolean;
begin
Result := CheckEditEmpty(1, self, [lblName.Name], [edtName.Name]);
if Result and chk2.Checked and (Trim(edtExp.Text) = '') then
begin
ShowMsg('您选择了使用公式,请录入正确的公式!');
Result := False;
end;
end;
procedure TfrmBase2InfoWageItem.bbAddClick(Sender: TObject);
begin
inherited;
if not CheckEdit then Exit;
DataSet.Edit;
SaveDataSet(TADODataSet(DataSet), false);
DataSet.Last;
DataSet.Insert;
LoadData;
end;
procedure TfrmBase2InfoWageItem.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
if (bReturn = False) and (DataSet.State = dsInsert)
and (Trim(edtName.Text) <> '') then
begin
if MsgBox('你没有保存数据,确定要退出吗?',
'提示', MB_OKCANCEL) <> IDOK then
Action := caNone;
end;
end;
procedure TfrmBase2InfoWageItem.edtExpButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var
sExp: string;
begin
inherited;
sExp := DataSet.FieldByName(edtExp.DataField).AsString;
sExp := GetExpression(sItem, sExp);
if Trim(sExp) <> '' then DataSet.FieldByName(edtExp.DataField).AsString := sExp;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -