📄 findlgn.~pas
字号:
unit FindLgn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, JvExDBGrids, JvDBGrid,
JvDBUltimGrid, Buttons, JvExControls, JvComponent, JvDBLookup, DBCtrls,
DB;
type
TFindLgnForm = class(TForm)
RadioGroup1: TRadioGroup;
Panel1: TPanel;
edFind: TEdit;
AddBtn: TSpeedButton;
GroupBox1: TGroupBox;
FindItemGrid: TJvDBUltimGrid;
btnCancel: TSpeedButton;
btnOke: TSpeedButton;
dsFindLgn: TDataSource;
procedure FindItemGridDblClick(Sender: TObject);
procedure edFindChange(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FindItemGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edFindKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btnOkeClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure AddBtnClick(Sender: TObject);
private
function GetCODE: string;
procedure SetCODE(NewCODE: string);
public
property CODE: string read GetCODE write SetCODE;
function ShowModalCODE: integer;
end;
var
FindLgnForm: TFindLgnForm;
implementation
{$R *.dfm}
uses DataMod1, edItem;
function TFindLgnForm.GetCODE: string;
begin
if DM1.qFindLgn.FieldByName('LGNCODE').Value <> Null Then
Result := DM1.qFindLgn.FieldByName('LGNCODE').Value
end;
function TFindLgnForm.ShowModalCODE: integer;
begin
Result:=ShowModal;
end;
procedure TFindLgnForm.SetCODE(NewCODE: string);
begin
NewCODE := DM1.qFindLgn.FieldByName('LGNCODE').Value;
end;
procedure TFindLgnForm.FindItemGridDblClick(Sender: TObject);
begin
ModalResult := mrOK;
end;
procedure TFindLgnForm.edFindChange(Sender: TObject);
begin
if edFind.Text='' then Exit;
with DM1.qFindLgn do
begin
DisableControls;
Close;
SQL.Clear;
if RadioGroup1.ItemIndex = 0 then
begin
SQL.Add(
'SELECT LGN.LGNCODE, LGN.NAMALGN, LGN.CREDLIMIT, LGN.CURBAL, '+
'LGN_ADDRESS.ADDRESS, LGN_ADDRESS.CITY '+
'FROM LGN, LGN_ADDRESS '+
'WHERE LGN.LGNCODE=LGN_ADDRESS.LGNCODE AND LGN_ADDRESS.GRUP="BISNIS" '+
'AND LGN.LGNCODE LIKE:NCari ORDER BY LGN.LGNCODE ASC ');
ParamByName('Ncari').AsString:=edFind.Text+'%';
Open;
if Recordcount = 0 then AddBtn.Enabled := True else AddBtn.Enabled := False;
end else
begin
SQL.Add(
'SELECT LGN.LGNCODE, LGN.NAMALGN, LGN.CREDLIMIT, LGN.CURBAL, '+
'LGN_ADDRESS.ADDRESS, LGN_ADDRESS.CITY '+
'FROM LGN, LGN_ADDRESS '+
'WHERE LGN.LGNCODE=LGN_ADDRESS.LGNCODE AND LGN_ADDRESS.GRUP="BISNIS" '+
'AND LGN.NAMALGN LIKE:NCari ORDER BY LGN.NAMALGN ASC ');
ParamByName('Ncari').AsString:=edFind.Text+'%';
Open;
end;
EnableControls;
end;
end;
procedure TFindLgnForm.RadioGroup1Click(Sender: TObject);
begin
edFind.SetFocus;
end;
procedure TFindLgnForm.FormActivate(Sender: TObject);
begin
edFind.SetFocus;
end;
procedure TFindLgnForm.FindItemGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then ModalResult:=mrOk;
end;
procedure TFindLgnForm.edFindKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_DOWN then FindItemGrid.SetFocus;
end;
procedure TFindLgnForm.btnOkeClick(Sender: TObject);
begin
ModalResult := mrOK;
end;
procedure TFindLgnForm.btnCancelClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TFindLgnForm.AddBtnClick(Sender: TObject);
begin
with DM1.qItemEdit do
begin
Close;
ParamByName('LGNCODE').Value:=edFind.Text;
Open;
end;
edItemForm.Enter(edFind.Text);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -