📄 basebilledit.pas
字号:
ADOSetTmp.Next;
end
else
begin
end;
sFieldName := sFieldNameS;
sCaption := sCaptionS;
sWidth := sWidthS;
sNoDisPlay := sNoDisPlayS;
sReadOnly := sReadOnlyS;
ADOSetTmp.Close;
ADOSetTmp.Free;
end;
procedure TfrmBaseBillEdit.SetBillDisPlay(sDisPlay: string);
var
s1, s2: string;
begin
s1 := sDisPlay + ',';
while pos(',', s1) <> 0 do
begin
s2 := copy(s1, 0, pos(',', s1) - 1);
s1 := copy(s1, pos(',', s1) + 1, Length(s1));
if s2 <> '' then
gridMain.ColumnByFieldName(s2).Visible := false;
end;
end;
procedure TfrmBaseBillEdit.SetBillReadOnly(sRead: string);
var
s1, s2: string;
begin
s1 := sRead + ',';
while pos(',', s1) <> 0 do
begin
s2 := copy(s1, 0, pos(',', s1) - 1);
s1 := copy(s1, pos(',', s1) + 1, Length(s1));
if s2 <> '' then
begin
gridMain.ColumnByFieldName(s2).ReadOnly := True;
gridMain.ColumnByFieldName(s2).Color := $00E9FCFC;
end;
end;
end;
procedure TfrmBaseBillEdit.SaveGirdWidth;
var
lCol: Integer;
sSql: string;
ADOSetTmp: TADODataSet;
begin
ADOSetTmp := nil;
lCol := 0;
sSql := 'SELECT * FROM BillSetup WHERE MODE=' + IntToStr(lMode) + ' ORDER BY UserID';
ADOSetTmp := TADODataSet.Create(ADOSetTmp);
OpenDataSet(ADOSetTmp, sSql);
if not ADOSetTmp.IsEmpty then
while not ADOSetTmp.Eof do
begin
ADOSetTmp.Edit;
ADOSetTmp.FieldByName('Width').AsInteger := gridMain.Columns[lCol].Width;
ADOSetTmp.Post;
ADOSetTmp.Next;
inc(lCol);
end;
ADOSetTmp.Close;
ADOSetTmp.Free;
end;
procedure TfrmBaseBillEdit.bbExitClick(Sender: TObject);
begin
inherited;
Close;
end;
procedure TfrmBaseBillEdit.pbbPrintClick(Sender: TObject);
begin
inherited;
PrintForm(Self, 1, PRINT_REPORT, sPrintFile);
end;
procedure TfrmBaseBillEdit.pbbPrintViewClick(Sender: TObject);
begin
inherited;
PrintForm(Self, 1, SHOW_REPORT, sPrintFile);
end;
procedure TfrmBaseBillEdit.pbbPrintCustomClick(Sender: TObject);
begin
inherited;
PrintForm(Self, 1, DESIGN_REPORT, sPrintFile);
end;
procedure TfrmBaseBillEdit.pbbPrintInitClick(Sender: TObject);
begin
inherited;
PrintForm(Self, 1, INITI_REPORT, sPrintFile);
end;
procedure TfrmBaseBillEdit.bbPrintClick(Sender: TObject);
begin
inherited;
PrintForm(Self, 1, SHOW_REPORT, sPrintFile);
end;
procedure TfrmBaseBillEdit.gridMainKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
case KEY of
VK_RETURN:
with gridMain do
if FocusedColumn < VisibleColumnCount - 1 then
FocusedColumn := FocusedColumn + 1
else
if FocusedColumn = VisibleColumnCount - 1 then
begin
FocusedColumn := 0;
if isEof or (DataLink.DataSet.RecNo = DataLink.DataSet.RecordCount) then
DataLink.DataSet.Append
else
DataLink.DataSet.Next;
gridMain.ShowEditor;
end;
end;
end;
procedure TfrmBaseBillEdit.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
case KEY of
VK_RETURN:
begin
if GetFocusedComponent(self) is TdxInplaceEdit then
perform(WM_NEXTDLGCTL, 0, 0);
end;
VK_ESCAPE: Close;
end;
end;
procedure TfrmBaseBillEdit.SetDrawGridSummary(dxGrid: TdxDBGrid);
var
i: Integer;
begin
if edgoLoadAllRecords in dxGrid.OptionsDB then Exit;
for i := 0 to dxGrid.ColumnCount - 1 do
begin
if dxGrid.Columns[i].SummaryFooterType <> cstNone then
dxGrid.Columns[i].OnDrawSummaryFooter := GridDrawSummaryFooter;
end;
end;
procedure TfrmBaseBillEdit.GridDrawSummaryFooter(Sender: TObject; ACanvas:
TCanvas; ARect: TRect; var AText: string; var AAlignment: TAlignment; AFont: TFont;
var AColor: TColor; var ADone: Boolean);
begin
inherited;
if not (edgoLoadAllRecords in TdxDBGrid(TdxDBTreeListColumn(Sender).ATreeList).OptionsDB) then
begin
AText := CalcColumnSummary(TdxDBTreeListColumn(Sender));
TdxDBTreeListColumn(Sender).SummaryFooterFormat := AText;
end;
end;
procedure TfrmBaseBillEdit.bbPrevClick(Sender: TObject);
begin
inherited;
ADOSetMaster.Prior;
lID := ADOSetMaster.FieldByName('ID').AsInteger;
end;
procedure TfrmBaseBillEdit.bbNextClick(Sender: TObject);
begin
inherited;
ADOSetMaster.Next;
lID := ADOSetMaster.FieldByName('ID').AsInteger;
end;
procedure TfrmBaseBillEdit.bbInsClick(Sender: TObject);
begin
inherited;
gridMain.DataLink.DataSet.Append;
end;
procedure TfrmBaseBillEdit.bbDelClick(Sender: TObject);
begin
inherited;
gridMain.DataLink.DataSet.Delete;
end;
procedure TfrmBaseBillEdit.bbEditClick(Sender: TObject);
begin
inherited;
gridMain.DataLink.DataSet.Edit;
end;
procedure TfrmBaseBillEdit.gridMainMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
P: TPoint;
begin
inherited;
GetCursorPos(P);
if Button = mbRight then
GridPopMenu.Popup(P.X, P.Y)
else
if (Button = mbLeft) and (gridMain.GetHitTestInfoAt(X, Y) = htNowhere) then
bbIns.Click;
end;
procedure TfrmBaseBillEdit.bbOkClick(Sender: TObject);
begin
inherited;
bReturn := True;
end;
procedure TfrmBaseBillEdit.FormCreate(Sender: TObject);
begin
inherited;
bReturn := False;
bDrawFullGrid := StrToBool2(GetIniValue(frmData.ADOConnetLogin, 'DrawFullGrid'));
end;
procedure TfrmBaseBillEdit.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
if (not bReturn) and (lID = 0) and (ADOSetList.RecordCount > 0) then
if MsgBox('你没有保存数据,确定要退出吗?', '提示', MB_OKCANCEL) <> IDOK then
Action := caNone;
end;
procedure TfrmBaseBillEdit.FormShow(Sender: TObject);
begin
inherited;
SetPanelFocused(self, pnlBillTop);
end;
procedure TfrmBaseBillEdit.gridMainCustomDraw(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxDBTreeListColumn; const AText: string; AFont: TFont;
var AColor: TColor; ASelected, AFocused: Boolean; var ADone: Boolean);
begin
inherited;
SetGridColor(ANode, AColor);
if bDrawFullGrid then DrawFullGrid(gridMain, ACanvas, ARect, ANode);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -