📄 bas200_06.pas.svn-base
字号:
procedure TBas200_06Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if ADOQuery1.IsEmpty then Exit;
ADOQuery1.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TBas200_06Form.ActInsertExecute(Sender: TObject);
begin
inherited;
//新增
try
Screen.Cursor:=crHourGlass;
SetDBGridReadOnly(False);
dxDBGrid1.OptionsDB:=dxDBGrid1.OptionsDB+[edgoCanAppend,edgoCanInsert,edgoCanDelete];
ADOQuery1.Append;
SetButtonState(True);
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActUpdateExecute(Sender: TObject);
begin
inherited;
//修改
if ADOQuery1.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
try
Screen.Cursor:=crHourGlass;
SetDBGridReadOnly(False);
dxDBGrid1.OptionsDB:=dxDBGrid1.OptionsDB+[edgoCanAppend,edgoCanInsert,edgoCanDelete];
ADOQuery1.Edit;
SetButtonState(True);
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActDeleteExecute(Sender: TObject);
begin
inherited;
//删除
if ADOQuery1.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Abort; //确定要删除此记录吗?
try
Screen.Cursor:=crHourGlass;
try
ADOQuery1.Delete;
ADOQuery1.UpdateBatch;
except
ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActSaveExecute(Sender: TObject);
begin
inherited;
//保存
try
Screen.Cursor:=crHourGlass;
try
ADOQuery1.UpdateBatch;
dxDBGrid1.OptionsDB:=dxDBGrid1.OptionsDB-[edgoCanAppend,edgoCanInsert,edgoCanDelete];
SetDBGridReadOnly(True);
SetButtonState(False);
except
ShowMsg(SYSDM.ADOC.Errors[0].Description,1);
Abort;
end;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActCancelExecute(Sender: TObject);
begin
inherited;
//取消
try
Screen.Cursor:=crHourGlass;
ADOQuery1.CancelUpdates;
dxDBGrid1.OptionsDB:=dxDBGrid1.OptionsDB-[edgoCanAppend,edgoCanInsert,edgoCanDelete];
SetDBGridReadOnly(True);
SetButtonState(False);
ActRefresh.Execute;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActRefreshExecute(Sender: TObject);
var
ABookmark:TBookmark;
begin
inherited;
//刷新
ABookmark:=ADOQuery1.GetBookmark;
try
Screen.Cursor:=crHourGlass;
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.Open;
ARecordCount:=GetDataSetCount(ADOQuery1);
if ADOQuery1.BookmarkValid(ABookmark) then ADOQuery1.GotoBookmark(ABookmark);
finally
ADOQuery1.FreeBookmark(ABookmark);
ADOQuery1.EnableControls;
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActLocateExecute(Sender: TObject);
begin
inherited;
//查找
if ADOQuery1.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
try
Screen.Cursor:=crHourGlass;
LocateDialog(DataSource1);
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActSearchExecute(Sender: TObject);
begin
inherited;
//查询
try
Screen.Cursor:=crHourGlass;
FilterDialog(DataSource1);
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActPrintExecute(Sender: TObject);
begin
inherited;
//打印
try
Screen.Cursor:=crHourGlass;
SelectReport(ADOQuery1,AProgramID,AReportName,ReportGetValue);
ActRefresh.Execute;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActExportExecute(Sender: TObject);
begin
inherited;
//导出数据
if ADOQuery1.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
try
Screen.Cursor:=crHourGlass;
HwExportForm:=THwExportForm.Create(Application);
HwExportForm.GetDataFields(AProgramID,ADOQuery1);
HwExportForm.ShowModal;
finally
Screen.Cursor:=crDefault;
end;
end;
procedure TBas200_06Form.ActExitExecute(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TBas200_06Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
inherited;
if not Active then Exit;
if ActSave.Enabled then Exit;
ActNext.Enabled:=not ADOQuery1.Eof;
ActLast.Enabled:=not ADOQuery1.Eof;
ActFirst.Enabled:=not ADOQuery1.Bof;
ActPrior.Enabled:=not ADOQuery1.Bof;
end;
procedure TBas200_06Form.dxDBGrid1ChangeColumn(Sender: TObject;
Node: TdxTreeListNode; Column: Integer);
begin
inherited;
if (dxDBGrid1.IsEOF) and (Column=0) then
begin
PostMessage(dxDBGrid1.Handle,WM_KEYDOWN,VK_DOWN,0);
end;
end;
procedure TBas200_06Form.miAppendClick(Sender: TObject);
begin
inherited;
//新增一条记录(&N)
ADOQuery1.Append;
end;
procedure TBas200_06Form.miDeleteClick(Sender: TObject);
begin
inherited;
//删除当前记录(&D)
if ShowDialog('UMS10000008')=IDYES then //确定要删除此记录吗?
ADOQuery1.Delete;
end;
procedure TBas200_06Form.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
inherited;
miAppend.Enabled:=(ActSave.Enabled) and (not ADOQuery1.IsEmpty);
miDelete.Enabled:=(ActSave.Enabled) and (not ADOQuery1.IsEmpty);
end;
procedure TBas200_06Form.FormShow(Sender: TObject);
begin
inherited;
CreatePopmeun(dxDBGrid1);
end;
procedure TBas200_06Form.BrowseEvent;
begin
end;
procedure TBas200_06Form.DeleteEvent;
begin
end;
procedure TBas200_06Form.InsertEvent;
begin
end;
procedure TBas200_06Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName='USENM' then ParValue:=AUserName
else if ParName='PRNDT' then ParValue:=GetDBString('COM00006006') //列印日期
else if ParName='PRNNM' then ParValue:=GetDBString('COM00006007') //列印人員
else if ParName='REPNM' then ParValue:=AReportTitle
else if ADOQuery1.FindField(ParName)<>nil then ParValue:=ADOQuery1.FieldByName(ParName).DisplayLabel;
end;
procedure TBas200_06Form.UpdateEvent;
begin
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -