204 lines
5.3 KiB
ObjectPascal
204 lines
5.3 KiB
ObjectPascal
|
|
unit U_PBListSel;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
|
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|||
|
|
cxDataStorage, cxEdit, DB, cxDBData, ToolWin, ComCtrls,
|
|||
|
|
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
|
|||
|
|
cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient, ADODB, ImgList,
|
|||
|
|
StdCtrls, ExtCtrls, cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu,
|
|||
|
|
cxButtonEdit, BtnEdit, cxTL, cxMaskEdit, cxInplaceContainer, cxDBTL,
|
|||
|
|
cxTLData, cxContainer, cxCurrencyEdit, cxCheckBox, cxSplitter;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrmPBListSel = class(TForm)
|
|||
|
|
ToolBar1: TToolBar;
|
|||
|
|
ADOQueryMain: TADOQuery;
|
|||
|
|
ADOQueryTemp: TADOQuery;
|
|||
|
|
ADOQueryCmd: TADOQuery;
|
|||
|
|
DataSource1: TDataSource;
|
|||
|
|
ClientDataSet1: TClientDataSet;
|
|||
|
|
TBClose: TToolButton;
|
|||
|
|
ThreeImgList: TImageList;
|
|||
|
|
DataSource2: TDataSource;
|
|||
|
|
ML_GYS: TClientDataSet;
|
|||
|
|
ADOQuery6: TADOQuery;
|
|||
|
|
ADOQuery2: TADOQuery;
|
|||
|
|
ADOQuery3: TADOQuery;
|
|||
|
|
Panel4: TPanel;
|
|||
|
|
DataSource4: TDataSource;
|
|||
|
|
ADOQueryTree: TADOQuery;
|
|||
|
|
Order_Tree: TClientDataSet;
|
|||
|
|
Panel6: TPanel;
|
|||
|
|
cxGrid1: TcxGrid;
|
|||
|
|
TV1: TcxGridDBTableView;
|
|||
|
|
V1BPCode: TcxGridDBColumn;
|
|||
|
|
V1BPName: TcxGridDBColumn;
|
|||
|
|
V1BPMF1: TcxGridDBColumn;
|
|||
|
|
V1BPKZ: TcxGridDBColumn;
|
|||
|
|
V1BPJS: TcxGridDBColumn;
|
|||
|
|
v1BPMiDu: TcxGridDBColumn;
|
|||
|
|
V1BPID: TcxGridDBColumn;
|
|||
|
|
cxGrid1Level1: TcxGridLevel;
|
|||
|
|
ToolBar2: TToolBar;
|
|||
|
|
ToolButton1: TToolButton;
|
|||
|
|
Panel7: TPanel;
|
|||
|
|
cxDBTreeList1: TcxDBTreeList;
|
|||
|
|
cxDBTreeList1cxDBTreeListColumn2: TcxDBTreeListColumn;
|
|||
|
|
ToolBar3: TToolBar;
|
|||
|
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|||
|
|
cxStyleRepository1: TcxStyleRepository;
|
|||
|
|
cxStyle1: TcxStyle;
|
|||
|
|
V1BPCF: TcxGridDBColumn;
|
|||
|
|
cxStyleRepository2: TcxStyleRepository;
|
|||
|
|
cxStyle2: TcxStyle;
|
|||
|
|
V1Column2: TcxGridDBColumn;
|
|||
|
|
Panel1: TPanel;
|
|||
|
|
Label1: TLabel;
|
|||
|
|
Label2: TLabel;
|
|||
|
|
BPNameM: TEdit;
|
|||
|
|
BPCodeM: TEdit;
|
|||
|
|
V1BPNote: TcxGridDBColumn;
|
|||
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
procedure TBCloseClick(Sender: TObject);
|
|||
|
|
procedure FormShow(Sender: TObject);
|
|||
|
|
procedure TV1CellDblClick(Sender: TcxCustomGridTableView;
|
|||
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|||
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|||
|
|
procedure BPNamehange(Sender: TObject);
|
|||
|
|
procedure BPCodeMChange(Sender: TObject);
|
|||
|
|
procedure ToolButton1Click(Sender: TObject);
|
|||
|
|
procedure cxDBTreeList1Click(Sender: TObject);
|
|||
|
|
procedure FormDestroy(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
procedure InitGrid();
|
|||
|
|
procedure initTree();
|
|||
|
|
{ Private declarations }
|
|||
|
|
public
|
|||
|
|
{ Public declarations }
|
|||
|
|
end;
|
|||
|
|
var
|
|||
|
|
frmPBListSel: TfrmPBListSel;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
uses
|
|||
|
|
U_DataLink,U_RTFun;
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
procedure TfrmPBListSel.initTree();
|
|||
|
|
begin
|
|||
|
|
with ADOQueryTree do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
SQL.Clear;
|
|||
|
|
SQL.Add('select *');
|
|||
|
|
sql.Add(', Case when isnull(CPNo,'''')<>'''' then RTrim(CPNo)+''/''+CPName else CPName end as CP ');
|
|||
|
|
SQL.Add('from CP_TypePB order by CPlevel,CPOrder,CPName');
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS20(ADOQueryTree,Order_Tree);
|
|||
|
|
SInitCDSData20(ADOQueryTree,Order_Tree);
|
|||
|
|
cxDBTreeList1.Items[0].Expand(true);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.FormClose(Sender: TObject;
|
|||
|
|
var Action: TCloseAction);
|
|||
|
|
begin
|
|||
|
|
ToolBar1.SetFocus;
|
|||
|
|
Action:=caFree;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.InitGrid();
|
|||
|
|
begin
|
|||
|
|
try
|
|||
|
|
ADOQueryMain.DisableControls;
|
|||
|
|
with ADOQueryMain do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
sql.Clear;
|
|||
|
|
sql.Add(' exec P_Select_BP :Code,:PState,:CYType,:Stats ');
|
|||
|
|
Parameters.ParamByName('Code').Value:='';
|
|||
|
|
Parameters.ParamByName('PState').Value:=0;
|
|||
|
|
Parameters.ParamByName('CYType').Value:=Trim(Order_Tree.fieldbyname('CPID').AsString);
|
|||
|
|
Parameters.ParamByName('Stats').Value:='';
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
SCreateCDS20(ADOQueryMain,ClientDataSet1);
|
|||
|
|
SInitCDSData20(ADOQueryMain,ClientDataSet1);
|
|||
|
|
finally
|
|||
|
|
ADOQueryMain.EnableControls;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.TBCloseClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
panel1.SetFocus;
|
|||
|
|
WriteCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>б<EFBFBD>',TV1,'<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
|
Close;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.FormShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
initTree();
|
|||
|
|
InitGrid();
|
|||
|
|
ReadCxGrid('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>б<EFBFBD>',TV1,'<27>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.TV1CellDblClick(Sender: TcxCustomGridTableView;
|
|||
|
|
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
|||
|
|
AShift: TShiftState; var AHandled: Boolean);
|
|||
|
|
begin
|
|||
|
|
ModalResult:=1;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.BPNamehange(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
fsj:String;
|
|||
|
|
begin
|
|||
|
|
if Trim(BPNameM.Text)<>'' then
|
|||
|
|
begin
|
|||
|
|
fsj:=' BPName like '''+'%'+Trim(BPNameM.Text)+'%'+'''';
|
|||
|
|
end;
|
|||
|
|
if ADOQueryMain.Active then
|
|||
|
|
begin
|
|||
|
|
SDofilter(ADOQueryMain,fsj);
|
|||
|
|
SCreateCDS20(ADOQueryMain,ClientDataSet1);
|
|||
|
|
SInitCDSData20(ADOQueryMain,ClientDataSet1);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.BPCodeMChange(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
fsj:String;
|
|||
|
|
begin
|
|||
|
|
if Trim(BPCodeM.Text)<>'' then
|
|||
|
|
begin
|
|||
|
|
fsj:=' BPCode like '''+'%'+Trim(BPCodeM.Text)+'%'+'''';
|
|||
|
|
end;
|
|||
|
|
if ADOQueryMain.Active then
|
|||
|
|
begin
|
|||
|
|
SDofilter(ADOQueryMain,fsj);
|
|||
|
|
SCreateCDS20(ADOQueryMain,ClientDataSet1);
|
|||
|
|
SInitCDSData20(ADOQueryMain,ClientDataSet1);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.ToolButton1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
ModalResult:=1;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.cxDBTreeList1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
InitGrid();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmPBListSel.FormDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
frmPBListSel:=nil;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|