?? finditem.pas
字號:
unit FindItem;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, JvExDBGrids, JvDBGrid,
JvDBUltimGrid, Buttons, JvExControls, JvComponent, JvDBLookup, DBCtrls,
DB, ImgList, JvExStdCtrls, JvButton, JvCtrls, JvFooter, JvExExtCtrls,
JvExtComponent, JvRadioGroup, JvGradientCaption, SkinCtrls,
DynamicSkinForm;
type
TFindItemForm = class(TForm)
Panel1: TPanel;
edFind: TEdit;
AddBtn: TSpeedButton;
GroupBox1: TGroupBox;
FindItemGrid: TJvDBUltimGrid;
dsFindItem: TDataSource;
JvFooter1: TJvFooter;
btnCancel: TJvFooterBtn;
btnOk: TJvFooterBtn;
ImageList1: TImageList;
JvGradientCaption1: TJvGradientCaption;
RadioGroup1: TspSkinRadioGroup;
spDynamicSkinForm1: TspDynamicSkinForm;
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 btnCancelClick(Sender: TObject);
procedure AddBtnClick(Sender: TObject);
procedure btnOkClick(Sender: TObject);
private
function GetCODE: string;
procedure SetCODE(NewCODE: string);
public
property CODE: string read GetCODE write SetCODE;
function ShowModalCODE: integer;
end;
var
FindItemForm: TFindItemForm;
implementation
{$R *.dfm}
uses DataMod1, edItem, selectgudang;
function TFindItemForm.GetCODE: string;
begin
if DM1.qFindItem.FieldByName('ITEMCODE').Value <> Null Then
Result := DM1.qFindItem.FieldByName('ITEMCODE').Value
end;
function TFindItemForm.ShowModalCODE: integer;
begin
Result:=ShowModal;
end;
procedure TFindItemForm.SetCODE(NewCODE: string);
begin
NewCODE := DM1.qFindItem.FieldByName('ITEMCODE').Value;
end;
procedure TFindItemForm.FindItemGridDblClick(Sender: TObject);
begin
ModalResult := mrOK;
end;
procedure TFindItemForm.edFindChange(Sender: TObject);
begin
if edFind.Text='' then Exit;
with DM1.qFindItem do
begin
DisableControls;
Close;
SQL.Clear;
if RadioGroup1.ItemIndex = 0 then
begin
SQL.Add('SELECT ITEM.ITEMCODE,ITEM.ITEMNAME, '+
'IFNULL((SELECT ITEM_QTY.ONHAND FROM ITEM_QTY WHERE ITEMCODE=ITEM.ITEMCODE AND GDGCODE=:nGdg),0) AS ONHAND, '+
'ITEM.UNITID '+
'FROM item '+
'WHERE ITEM.ITEMCODE LIKE:NCari '+
'Order By ITEM.ITEMCODE ASC ');
ParamByName('Ncari').AsString:=edFind.Text+'%';
ParamByName('nGDG').Value:=SELECTGUDANGFORM.CODE;
Open;
if Recordcount = 0 then AddBtn.Enabled := True else AddBtn.Enabled := False;
end else
begin
SQL.Add('SELECT ITEM.ITEMCODE,ITEM.ITEMNAME, '+
'IFNULL((SELECT ITEM_QTY.ONHAND FROM ITEM_QTY WHERE ITEMCODE=ITEM.ITEMCODE AND GDGCODE=:nGdg),0) AS ONHAND, '+
'ITEM.UNITID '+
'FROM item '+
'WHERE ITEM.ITEMNAME LIKE:NCari '+
'Order By ITEM.ITEMNAME ASC ');
ParamByName('Ncari').AsString:=edFind.Text+'%';
ParamByName('nGDG').Value:=SELECTGUDANGFORM.CODE;
Open;
end;
EnableControls;
end;
end;
procedure TFindItemForm.RadioGroup1Click(Sender: TObject);
begin
edFind.SetFocus;
end;
procedure TFindItemForm.FormActivate(Sender: TObject);
begin
edFind.SetFocus;
end;
procedure TFindItemForm.FindItemGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_return then ModalResult:=mrOk;
end;
procedure TFindItemForm.edFindKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_DOWN then FindItemGrid.SetFocus;
end;
procedure TFindItemForm.btnCancelClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TFindItemForm.AddBtnClick(Sender: TObject);
begin
with DM1.qItemEdit do
begin
Close;
ParamByName('ITEMCODE').Value:=edFind.Text;
Open;
end;
edItemForm.Enter(edFind.Text);
end;
procedure TFindItemForm.btnOkClick(Sender: TObject);
begin
ModalResult := mrOK;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -