RtTool/Delphi7/开发档案/马国钢开发代码/ThreeFun/helpForm/U_GlideCraftHelp.pas
2025-01-08 11:55:07 +08:00

225 lines
5.6 KiB
ObjectPascal

unit U_GlideCraftHelp;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ExtCtrls, cxGridLevel,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
cxControls, cxGridCustomView, cxGrid, ComCtrls, ToolWin, cxCheckBox,
ADODB, StdCtrls, DBClient, cxCalc;
type
TfrmGlideCraftHelp = class(TForm)
ToolBar1: TToolBar;
Tfresh: TToolButton;
Tcolse: TToolButton;
cxGrid1: TcxGrid;
tv1: TcxGridDBTableView;
v1Idx: TcxGridDBColumn;
v1CraftType: TcxGridDBColumn;
v1CraftNo: TcxGridDBColumn;
v1craftName: TcxGridDBColumn;
v1price: TcxGridDBColumn;
v1fitDevice: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Panel1: TPanel;
Tok: TToolButton;
ADOQueryHelp: TADOQuery;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
tv1sel: TcxGridDBColumn;
Label1: TLabel;
Edit1: TEdit;
cxGrid2: TcxGrid;
tv2: TcxGridDBTableView;
tv2Name: TcxGridDBColumn;
cxGrid2Level1: TcxGridLevel;
DataSource2: TDataSource;
ADOQueryLeft: TADOQuery;
cxGrid3: TcxGrid;
tv3: TcxGridDBTableView;
tv3CraftType: TcxGridDBColumn;
tv3CraftNo: TcxGridDBColumn;
tv3CraftName: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
DS_sel: TDataSource;
CDS_sel: TClientDataSet;
CDS_selcraftNo: TStringField;
CDS_selcraftName: TStringField;
CDS_selCraftType: TStringField;
CDS_selprice: TFloatField;
CDS_selglideNo: TStringField;
CDS_selRate: TFloatField;
tv3Rate: TcxGridDBColumn;
procedure TcolseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TfreshClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure tv2FocusedRecordChanged(Sender: TcxCustomGridTableView;
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
procedure TokClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure tv1DblClick(Sender: TObject);
procedure tv3DblClick(Sender: TObject);
private
procedure InitCraftGrid();
procedure InitLeft();
procedure AddRow();
public
fCraftType:string;
end;
var
frmGlideCraftHelp: TfrmGlideCraftHelp;
implementation
uses
U_global;
{$R *.dfm}
procedure TfrmGlideCraftHelp.TcolseClick(Sender: TObject);
begin
close;
end;
procedure TfrmGlideCraftHelp.FormCreate(Sender: TObject);
begin
cxGrid1.Align :=alClient;
with ADOConnection1 do
begin
Connected:= False;
ConnectionString := gConString;
Connected := True;
end;
CDS_sel.Close ;
CDS_sel.CreateDataSet ;
end;
procedure TfrmGlideCraftHelp.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=cafree;
end;
/////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////
procedure TfrmGlideCraftHelp.InitCraftGrid();
var
mWhereStr:string;
begin
if trim(Edit1.Text)<>'' then
mWhereStr:='and craftNO like '+quotedStr('%'+trim(Edit1.Text)+'%');
try
ADOQueryHelp.DisableControls ;
with ADOQueryHelp do
begin
close;
sql.clear;
sql.Add('select * from mc_glide_craft');
sql.Add('where craftType='+quotedStr(trim(ADOQueryLeft.fieldByName('Name').AsString)));
sql.Add('and valid=''Y''');
sql.Add(mWhereStr);
sql.Add('order By Idx');
Open;
end;
finally
ADOQueryHelp.EnableControls;
end;
end;
procedure TfrmGlideCraftHelp.TfreshClick(Sender: TObject);
begin
InitCraftGrid();
end;
////////////////////////////////////////////////
//
////////////////////////////////////////////////
procedure TfrmGlideCraftHelp.InitLeft();
begin
try
with ADOQueryLeft do
begin
close;
sql.Clear ;
sql.Add('select * ');
sql.Add('from xc_code');
sql.Add('where flag=''CRAFTTYPE''');
sql.Add('and valid=''Y''');
Open;
locate('Name',fCraftType,[]);
end;
finally
end;
end;
procedure TfrmGlideCraftHelp.FormShow(Sender: TObject);
begin
InitLeft();
end;
procedure TfrmGlideCraftHelp.tv2FocusedRecordChanged(
Sender: TcxCustomGridTableView; APrevFocusedRecord,
AFocusedRecord: TcxCustomGridRecord;
ANewItemRecordFocusingChanged: Boolean);
begin
InitCraftGrid();
end;
procedure TfrmGlideCraftHelp.TokClick(Sender: TObject);
begin
Edit1.SetFocus ;
if CDS_sel.IsEmpty then exit;
{
try
ADOQueryHelp.DisableControls ;
with ADOQueryHelp do
begin
filtered:=false;
filter:='sel=1';
filtered:=true;
end;
finally
ADOQueryHelp.EnableControls;
end;
}
ModalResult:=1;
end;
procedure TfrmGlideCraftHelp.Edit1Change(Sender: TObject);
begin
InitCraftGrid();
end;
/////////////////////////////////////////////
//
//////////////////////////////////////////////
procedure TfrmGlideCraftHelp.AddRow();
begin
with CDS_sel do
begin
Append;
fieldByName('craftType').value:= trim(ADOQueryHelp.fieldByName('craftType').asString);
fieldByName('craftNo').value:= trim(ADOQueryHelp.fieldByName('craftNo').asString);
fieldByName('craftName').value:= trim(ADOQueryHelp.fieldByName('craftName').asString);
fieldByName('price').value:= ADOQueryHelp.fieldByName('price').AsFloat;
fieldByName('Rate').value:= 100;
Post;
end;
end;
procedure TfrmGlideCraftHelp.tv1DblClick(Sender: TObject);
begin
AddRow();
end;
procedure TfrmGlideCraftHelp.tv3DblClick(Sender: TObject);
begin
IF CDS_sel.IsEmpty THEN EXIT;
CDS_sel.Delete ;
end;
end.