228 lines
5.2 KiB
ObjectPascal
228 lines
5.2 KiB
ObjectPascal
unit U_SxProductHelp;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, DB, ADODB, Grids, DBGrids, ExtCtrls, ComCtrls, ImgList, ToolWin,
|
|
StdCtrls, cxControls, cxPC,StrUtils, cxStyles, cxCustomData, cxGraphics,
|
|
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, cxGridLevel,
|
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
|
cxGridCustomView, cxGrid;
|
|
|
|
type
|
|
TfrmPBProductHelp = class(TForm)
|
|
Panel1: TPanel;
|
|
Label1: TLabel;
|
|
Edit1: TEdit;
|
|
ImageList24: TImageList;
|
|
DataSource1: TDataSource;
|
|
ADOQueryTmp: TADOQuery;
|
|
ADOQueryHelp: TADOQuery;
|
|
ToolBar2: TToolBar;
|
|
ToolButton1: TToolButton;
|
|
ToolButton2: TToolButton;
|
|
Label2: TLabel;
|
|
cxTabControl1: TcxTabControl;
|
|
Label3: TLabel;
|
|
Edit2: TEdit;
|
|
cxGrid1: TcxGrid;
|
|
tv1: TcxGridDBTableView;
|
|
tv1p_Code: TcxGridDBColumn;
|
|
tv1P_chnName: TcxGridDBColumn;
|
|
tv1P_engName: TcxGridDBColumn;
|
|
tv1P_spec: TcxGridDBColumn;
|
|
tv1P_gram: TcxGridDBColumn;
|
|
tv1P_Breadth: TcxGridDBColumn;
|
|
tv1P_upBreadth: TcxGridDBColumn;
|
|
tv1P_typeName: TcxGridDBColumn;
|
|
cxGridLevel1: TcxGridLevel;
|
|
tv1Num: TcxGridDBColumn;
|
|
tv1P_Breadthp: TcxGridDBColumn;
|
|
tv1P_upBreadthp: TcxGridDBColumn;
|
|
ADOConnection1: TADOConnection;
|
|
procedure BtnOkClick(Sender: TObject);
|
|
procedure BtnCancelClick(Sender: TObject);
|
|
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
|
|
Shift: TShiftState);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
procedure cxTabControl1Change(Sender: TObject);
|
|
procedure tv1DblClick(Sender: TObject);
|
|
private
|
|
SortID: Integer;
|
|
SortCaption, SortField, SortOrder: String;
|
|
procedure IntiQuery();
|
|
procedure IntiQuery10();
|
|
public
|
|
fDipFlag:integer; //1:³ÉÆ·£»2£ºÅ÷²¼
|
|
fPbCtr:boolean;
|
|
fCustomNo:string;
|
|
fSysCode:string;
|
|
end;
|
|
|
|
var
|
|
frmPBProductHelp: TfrmPBProductHelp;
|
|
|
|
implementation
|
|
uses
|
|
U_adodbmd,U_iniParam,U_global;
|
|
{$R *.dfm}
|
|
|
|
procedure TfrmPBProductHelp.BtnOkClick(Sender: TObject);
|
|
begin
|
|
if ADOQueryHelp.IsEmpty then exit;
|
|
ModalResult := 1;
|
|
end;
|
|
|
|
procedure TfrmPBProductHelp.BtnCancelClick(Sender: TObject);
|
|
begin
|
|
ModalResult := -1;
|
|
end;
|
|
|
|
|
|
procedure TfrmPBProductHelp.IntiQuery();
|
|
var
|
|
whereStr:string;
|
|
begin
|
|
whereStr:='';
|
|
if trim(edit1.Text)<>'' then
|
|
begin
|
|
whereStr:='and P_code like '+quotedStr('%'+trim(edit1.text)+'%');
|
|
end;
|
|
|
|
if trim(edit2.Text)<>'' then
|
|
begin
|
|
whereStr:='and P_chnName like '+quotedStr('%'+trim(edit2.text)+'%');
|
|
end;
|
|
|
|
//ÀàÐÍ
|
|
if cxTabControl1.TabIndex=1 then
|
|
whereStr:=whereStr+' and P_type=''C'''
|
|
else if cxTabControl1.TabIndex=2 then
|
|
whereStr:=whereStr+' and P_type=''P''';
|
|
|
|
with ADOQueryHelp Do
|
|
Begin
|
|
DisableControls;
|
|
Active := False;
|
|
SQL.Clear;
|
|
SQL.Add('select * from V_MC_Catlog');
|
|
sql.Add('where 1=1 '+whereStr);
|
|
Active := True;
|
|
EnableControls;
|
|
end;
|
|
end;
|
|
///////////////////////////////////////////
|
|
//Å÷²¼¿ØÖÆ
|
|
///////////////////////////////////////////
|
|
procedure TfrmPBProductHelp.IntiQuery10();
|
|
var
|
|
filterStr:string;
|
|
begin
|
|
filterStr:='';
|
|
if trim(edit1.Text)<>'' then
|
|
begin
|
|
filterStr:=' and P_code like '+quotedStr('%'+trim(edit1.text)+'%');
|
|
end;
|
|
if trim(edit2.Text)<>'' then
|
|
begin
|
|
filterStr:=' and P_chnName like '+quotedStr('%'+trim(edit2.text)+'%');
|
|
end;
|
|
//ÀàÐÍ
|
|
//if cxTabControl1.TabIndex=1 then
|
|
// filterStr:=filterStr+' and P_type=''C'''
|
|
//else if cxTabControl1.TabIndex=2 then
|
|
// filterStr:=filterStr+' and P_type=''P''';
|
|
try
|
|
with ADOQueryHelp Do
|
|
Begin
|
|
DisableControls;
|
|
close;
|
|
filtered:=false;
|
|
SQL.Clear;
|
|
if trim(fSysCode)='YH' then
|
|
sql.Add('exec JS_PBCK_CHANGE_YH10')
|
|
else
|
|
SQL.Add('exec JS_PBCK_CHANGE10');
|
|
sql.Add(QuotedStr(fCustomNo));
|
|
Open;
|
|
|
|
if trim(filterStr)='' then
|
|
begin
|
|
ADOQueryHelp.Filtered:=false;
|
|
ADOQueryHelp.EnableControls;
|
|
exit;
|
|
end;
|
|
filterStr:=trim(RightBStr(filterStr,length(filterStr)-4));
|
|
with ADOQueryHelp do
|
|
begin
|
|
filtered:=false;
|
|
filter:=filterStr;
|
|
filtered:=true;
|
|
end;
|
|
EnableControls;
|
|
end;
|
|
|
|
finally
|
|
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmPBProductHelp.Edit1KeyDown(Sender: TObject; var Key: Word;
|
|
Shift: TShiftState);
|
|
Var
|
|
TmpSql :string;
|
|
begin
|
|
if Key = VK_RETURN then
|
|
begin
|
|
if fPbCtr then
|
|
IntiQuery10()
|
|
else
|
|
IntiQuery();
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmPBProductHelp.FormCreate(Sender: TObject);
|
|
begin
|
|
cxgrid1.Align:=alClient;
|
|
with ADOConnection1 do
|
|
begin
|
|
Connected:=false;
|
|
ConnectionString:=gConString;
|
|
Connected:=true;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrmPBProductHelp.FormShow(Sender: TObject);
|
|
var
|
|
tabIndex:integer;
|
|
begin
|
|
cxTabControl1.TabIndex:=fDipFlag;
|
|
if fPbCtr then
|
|
IntiQuery10()
|
|
else
|
|
IntiQuery();
|
|
Edit1.SetFocus;
|
|
|
|
end;
|
|
|
|
procedure TfrmPBProductHelp.cxTabControl1Change(Sender: TObject);
|
|
var
|
|
tabIndex:integer;
|
|
begin
|
|
tabIndex:=cxTabControl1.TabIndex;
|
|
if cxTabControl1.Tabs[tabIndex].Caption='Å÷²¼²Ö¿â' then
|
|
IntiQuery10()
|
|
else
|
|
IntiQuery();
|
|
end;
|
|
|
|
procedure TfrmPBProductHelp.tv1DblClick(Sender: TObject);
|
|
begin
|
|
if ADOQueryHelp.IsEmpty then exit;
|
|
ModalResult := 1;
|
|
end;
|
|
|
|
end.
|