D7FZaideng/艾登贸易管理/U_ZdyYS_Sel.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

308 lines
8.2 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_ZdyYS_Sel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator;
type
TfrmZdyYS_Sel = class(TForm)
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
DSsub: TDataSource;
CDSsub: TClientDataSet;
ADOQuerysub: TADOQuery;
Panel1: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column2: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
Tv2Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
Panel2: TPanel;
Label3: TLabel;
Label1: TLabel;
CodeName: TEdit;
Code: TEdit;
Tv2Column2: TcxGridDBColumn;
Edit1: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure TV1Column1GetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; var AText: string);
procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure v2Column6PropertiesEditValueChanged(Sender: TObject);
procedure Tv2Column1GetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; var AText: string);
procedure CodeChange(Sender: TObject);
procedure CodeNameChange(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure InitSub();
public
fDEFstr5: string;
end;
var
frmZdyYS_Sel: TfrmZdyYS_Sel;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp; //, U_ZdyAttInputGYS, U_ZdyAttachCP10_help
{$R *.dfm}
procedure TfrmZdyYS_Sel.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select mainid=cast(mainid as varchar(30)),* from CP_CMYS where Type=''<27><>ɫ'' ');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyYS_Sel.InitSub();
begin
with ADOQuerysub do
begin
Close;
SQL.Clear;
sql.Add(' select subid=cast(subid as varchar(30)),* from CP_CMYS_Sub where Mainid=''' + cds_hz.fieldbyname('Mainid').AsString + ''' ');
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQuerysub, CDSsub);
SInitCDSData20(ADOQuerysub, CDSsub);
end;
procedure TfrmZdyYS_Sel.FormDestroy(Sender: TObject);
begin
frmZdyYS_Sel := nil;
end;
procedure TfrmZdyYS_Sel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmZdyYS_Sel.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmZdyYS_Sel.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption, Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
InitGrid();
end;
procedure TfrmZdyYS_Sel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyYS_Sel.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if cds_hz.IsEmpty then
exit;
self.ModalResult := 1;
end;
procedure TfrmZdyYS_Sel.TV1Column1GetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; var AText: string);
begin
AText := IntToStr(ARecord.Index + 1);
end;
procedure TfrmZdyYS_Sel.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
initsub();
end;
procedure TfrmZdyYS_Sel.ToolButton1Click(Sender: TObject);
var
Maxno, x, y: string;
begin
if cds_hz.IsEmpty then
exit;
try
CDS_HZ.DisableControls;
ADOQueryCmd.Connection.BeginTrans;
with CDS_HZ do
begin
First;
while not Eof do
begin
if CDS_HZ.FieldByName('SSel').AsBoolean then
begin
x := CDS_HZ.FieldByName('CodeName').AsString;
if y = '' then
begin
y := x;
end
else
begin
y := y + ',' + x;
end;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_HZ.EnableControls;
except
ADOQueryCmd.Connection.RollbackTrans;
CDS_HZ.EnableControls;
end;
Edit1.Text := Trim(y);
self.ModalResult := 1;
end;
procedure TfrmZdyYS_Sel.ToolButton3Click(Sender: TObject);
var
FMainid: string;
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from CP_CMYS_Sub where 1<>1');
Open;
Append;
fieldbyname('Mainid').Value := CDS_HZ.fieldbyname('Mainid').AsString;
Post;
end;
InitSub();
end;
procedure TfrmZdyYS_Sel.ToolButton2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_CMYS where Mainid=''' + Trim(CDS_HZ.fieldbyname('Mainid').AsString) + '''');
ExecSQL;
end;
CDS_HZ.Delete;
end;
procedure TfrmZdyYS_Sel.ToolButton4Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('delete CP_CMYS_Sub where Subid=''' + Trim(CDSsub.fieldbyname('Subid').AsString) + '''');
ExecSQL;
end;
CDSsub.Delete;
end;
procedure TfrmZdyYS_Sel.v2Column6PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '';
end;
FFieldName := Trim(Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate CP_CMYS ');
sql.Add(' Set ' + FFieldName + '=' + Trim(mvalue));
SQL.Add(' where Mainid=''' + Trim(CDS_HZ.fieldbyname('Mainid').AsString) + '''');
ExecSQL;
end;
end;
procedure TfrmZdyYS_Sel.Tv2Column1GetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; var AText: string);
begin
AText := IntToStr(ARecord.Index + 1)
end;
procedure TfrmZdyYS_Sel.CodeChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel2, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmZdyYS_Sel.CodeNameChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel2, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
end;
end;
end.