📄 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, KsSkinButtons,
KsSkinForms, KsSkinLabels, se_controls, KsSkinPanels, KsSkinSpeedButtons;
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 + -