D7FZaideng/基础资料维护(BaseInfo.dll)/U_ZdyCMZ_Sel.pas
DESKTOP-E401PHE\Administrator 82c6347dad ~
2025-04-30 16:21:22 +08:00

277 lines
7.5 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_ZdyCMZ_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
TfrmZdyCMZ_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;
Panel2: TPanel;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
cxGridDBColumn2: TcxGridDBColumn;
cxGridDBColumn3: TcxGridDBColumn;
cxGridDBColumn4: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Panel1: TPanel;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column2: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
TV1Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
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 cxGridDBColumn2PropertiesEditValueChanged(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure InitSub();
public
fDEFstr5: string;
end;
var
frmZdyCMZ_Sel: TfrmZdyCMZ_Sel;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_ZdyAttInputGYS, U_ZdyAttachCP10_help;
{$R *.dfm}
procedure TfrmZdyCMZ_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><><EFBFBD><EFBFBD>'' ');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyCMZ_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 TfrmZdyCMZ_Sel.FormDestroy(Sender: TObject);
begin
frmZdyCMZ_Sel := nil;
end;
procedure TfrmZdyCMZ_Sel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmZdyCMZ_Sel.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmZdyCMZ_Sel.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption, Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
InitGrid();
end;
procedure TfrmZdyCMZ_Sel.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmZdyCMZ_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 TfrmZdyCMZ_Sel.TV1Column1GetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; var AText: string);
begin
AText := IntToStr(ARecord.Index + 1);
end;
procedure TfrmZdyCMZ_Sel.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
initsub();
end;
procedure TfrmZdyCMZ_Sel.ToolButton1Click(Sender: TObject);
begin
if cds_hz.IsEmpty then
exit;
self.ModalResult := 1;
end;
procedure TfrmZdyCMZ_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 TfrmZdyCMZ_Sel.ToolButton2Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><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 where Mainid=''' + Trim(CDS_HZ.fieldbyname('Mainid').AsString) + '''');
sql.Add('delete CP_CMYS_Sub where Mainid=''' + Trim(CDS_HZ.fieldbyname('Mainid').AsString) + '''');
ExecSQL;
end;
CDS_HZ.Delete;
end;
procedure TfrmZdyCMZ_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 TfrmZdyCMZ_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 TfrmZdyCMZ_Sel.cxGridDBColumn2PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '';
end;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with CDSsub do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate CP_CMYS_sub ');
sql.Add(' Set ' + FFieldName + '=' + Trim(mvalue));
SQL.Add(' where Subid=''' + Trim(CDSsub.fieldbyname('subid').AsString) + '''');
// ShowMessage(sql.text);
ExecSQL;
end;
end;
end.