364 lines
9.3 KiB
ObjectPascal
364 lines
9.3 KiB
ObjectPascal
|
unit U_ZDYHelpFZSel;
|
|||
|
|
|||
|
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,
|
|||
|
cxCheckBox, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore,
|
|||
|
dxSkinsDefaultPainters, cxNavigator, dxDateRanges, System.ImageList,
|
|||
|
System.Types, cxDropDownEdit, cxButtonEdit, dxBarBuiltInMenu,
|
|||
|
cxGridCustomPopupMenu, cxGridPopupMenu, U_BaseHelp, BtnEdit;
|
|||
|
|
|||
|
type
|
|||
|
TfrmZDYHelpFZSel = class(TForm)
|
|||
|
TV1: TcxGridDBTableView;
|
|||
|
cxGrid1Level1: TcxGridLevel;
|
|||
|
cxGrid1: TcxGrid;
|
|||
|
V1Name: TcxGridDBColumn;
|
|||
|
ToolBar1: TToolBar;
|
|||
|
ADOQueryMain: TADOQuery;
|
|||
|
ADOQueryTemp: TADOQuery;
|
|||
|
ADOQueryCmd: TADOQuery;
|
|||
|
DataSource1: TDataSource;
|
|||
|
ClientDataSet1: TClientDataSet;
|
|||
|
TBAdd: TToolButton;
|
|||
|
TBDel: TToolButton;
|
|||
|
TBClose: TToolButton;
|
|||
|
ToolButton1: TToolButton;
|
|||
|
TBEdit: TToolButton;
|
|||
|
ADOConnection1: TADOConnection;
|
|||
|
Panel1: TPanel;
|
|||
|
Label1: TLabel;
|
|||
|
ZDYName: TEdit;
|
|||
|
ThreeImgList: TImageList;
|
|||
|
V1Column1: TcxGridDBColumn;
|
|||
|
Label2: TLabel;
|
|||
|
TV1Column1: TcxGridDBColumn;
|
|||
|
cxgrdpmn1: TcxGridPopupMenu;
|
|||
|
BZType: TBtnEditC;
|
|||
|
Label3: TLabel;
|
|||
|
ImageList_new32: TImageList;
|
|||
|
procedure FormCreate(Sender: TObject);
|
|||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
procedure TBAddClick(Sender: TObject);
|
|||
|
procedure TBDelClick(Sender: TObject);
|
|||
|
procedure TBCloseClick(Sender: TObject);
|
|||
|
procedure FormShow(Sender: TObject);
|
|||
|
procedure ToolButton1Click(Sender: TObject);
|
|||
|
procedure TBEditClick(Sender: TObject);
|
|||
|
procedure TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
procedure ZDYNameChange(Sender: TObject);
|
|||
|
procedure V1NamePropertiesEditValueChanged(Sender: TObject);
|
|||
|
procedure FormDestroy(Sender: TObject);
|
|||
|
procedure TV1Column1PropertiesEditValueChanged(Sender: TObject);
|
|||
|
procedure BZTypeBtnDnClick(Sender: TObject);
|
|||
|
procedure BZTypeBtnUpClick(Sender: TObject);
|
|||
|
private
|
|||
|
procedure InitGrid();
|
|||
|
{ Private declarations }
|
|||
|
public
|
|||
|
flag, flagname, snote, MainType, ReturnStr, FGStr, FChkStr: string;
|
|||
|
fnote, forderno: Boolean;
|
|||
|
PPSTE, JiangeStr: integer;
|
|||
|
{ Public declarations }
|
|||
|
end;
|
|||
|
|
|||
|
var
|
|||
|
frmZDYHelpFZSel: TfrmZDYHelpFZSel;
|
|||
|
|
|||
|
implementation
|
|||
|
|
|||
|
uses
|
|||
|
U_DataLink, U_RTFun, U_ZDYHelp;
|
|||
|
|
|||
|
{$R *.dfm}
|
|||
|
procedure TfrmZDYHelpFZSel.TBAddClick(Sender: TObject);
|
|||
|
var
|
|||
|
maxno: string;
|
|||
|
begin
|
|||
|
if Trim(BZType.Text) = '' then
|
|||
|
begin
|
|||
|
Application.MessageBox('<27><><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
|
|||
|
ZDYName.SetFocus;
|
|||
|
TV1.OptionsData.Editing := True;
|
|||
|
TV1.OptionsSelection.CellSelect := True;
|
|||
|
if GetLSNo(ADOQueryTemp, maxno, 'SY', 'KH_ZDY', 3, 1) = False then
|
|||
|
begin
|
|||
|
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
|||
|
Exit;
|
|||
|
end;
|
|||
|
with ClientDataSet1 do
|
|||
|
begin
|
|||
|
Append;
|
|||
|
fieldbyname('ZDYNo').Value := maxno;
|
|||
|
fieldbyname('Note').Value := BZType.Text;
|
|||
|
Post;
|
|||
|
end;
|
|||
|
with ADOQueryCmd do
|
|||
|
begin
|
|||
|
close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('insert into KH_ZDY(Type,MainType,ZDYNo,Note) ');
|
|||
|
sql.Add('values(' + quotedstr(Trim(flag)));
|
|||
|
sql.Add(',' + quotedstr(Trim(MainType)));
|
|||
|
sql.Add(',' + quotedstr(Trim(maxno)));
|
|||
|
sql.Add(',' + quotedstr(Trim(BZType.Text)) + ') ');
|
|||
|
ExecSQL;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.FormCreate(Sender: TObject);
|
|||
|
begin
|
|||
|
try
|
|||
|
cxGrid1.Align := alClient;
|
|||
|
with ADOConnection1 do
|
|||
|
begin
|
|||
|
Connected := false;
|
|||
|
ConnectionString := DConString;
|
|||
|
//ConnectionString:='';
|
|||
|
Connected := true;
|
|||
|
end;
|
|||
|
except
|
|||
|
frmZDYHelpFZSel.Free;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.BZTypeBtnDnClick(Sender: TObject);
|
|||
|
begin
|
|||
|
TBtnEditC(Sender).Text := '';
|
|||
|
TBtnEditC(Sender).TxtCode := '';
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.BZTypeBtnUpClick(Sender: TObject);
|
|||
|
var
|
|||
|
fsj: string;
|
|||
|
FWZ: Integer;
|
|||
|
begin
|
|||
|
|
|||
|
try
|
|||
|
frmZDYHelp := TfrmZDYHelp.Create(Application);
|
|||
|
with frmZDYHelp do
|
|||
|
begin
|
|||
|
flag := Trim(self.flag) + 'MX';
|
|||
|
flagname := '<27><><EFBFBD><EFBFBD>';
|
|||
|
if ShowModal = 1 then
|
|||
|
begin
|
|||
|
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
|
|||
|
end;
|
|||
|
end;
|
|||
|
finally
|
|||
|
frmZDYHelp.Free;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
begin
|
|||
|
inherited;
|
|||
|
writeCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD>' + Trim(flag), TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
ZDYName.SetFocus;
|
|||
|
Action := caFree;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.InitGrid();
|
|||
|
begin
|
|||
|
try
|
|||
|
ADOQueryMain.DisableControls;
|
|||
|
with ADOQueryMain do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('select * from KH_ZDY where Type=''' + flag + '''');
|
|||
|
if Trim(MainType) <> '' then
|
|||
|
begin
|
|||
|
sql.Add(' and MainType=''' + Trim(MainType) + '''');
|
|||
|
end;
|
|||
|
Open;
|
|||
|
end;
|
|||
|
SCreateCDS(ADOQueryMain, ClientDataSet1);
|
|||
|
SInitCDSData(ADOQueryMain, ClientDataSet1);
|
|||
|
finally
|
|||
|
ADOQueryMain.EnableControls;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.TBDelClick(Sender: TObject);
|
|||
|
begin
|
|||
|
if ClientDataSet1.IsEmpty then
|
|||
|
Exit;
|
|||
|
if (Trim(ClientDataSet1.FieldByName('ZDYNo').AsString) <> '') or (Trim(ClientDataSet1.FieldByName('ZDYname').AsString) <> '') then
|
|||
|
begin
|
|||
|
if application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>?', '<27><>ʾ<EFBFBD><CABE>Ϣ', 1) = 2 then
|
|||
|
exit;
|
|||
|
with ADOQueryCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('delete KH_ZDY where ZDYNo=''' + Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString) + '''');
|
|||
|
SQL.Add('and Type=''' + Trim(flag) + '''');
|
|||
|
ExecSQL;
|
|||
|
end;
|
|||
|
end;
|
|||
|
ClientDataSet1.Delete;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.TBCloseClick(Sender: TObject);
|
|||
|
begin
|
|||
|
ModalResult := 2;
|
|||
|
ZDYName.SetFocus;
|
|||
|
WriteCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>װҪ<D7B0><D2AA>1', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
Close;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.FormShow(Sender: TObject);
|
|||
|
var
|
|||
|
fsj, fsj1: string;
|
|||
|
FStrs: TStringList;
|
|||
|
i: integer;
|
|||
|
begin
|
|||
|
|
|||
|
ReadCxGrid('<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>װҪ<D7B0><D2AA>1', TV1, '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
InitGrid();
|
|||
|
fsj := Trim(flag) + '01';
|
|||
|
fsj1 := Trim(flagname) + '01';
|
|||
|
|
|||
|
if Trim(FChkStr) <> '' then
|
|||
|
begin
|
|||
|
FStrs := TStringList.Create();
|
|||
|
ExtractStrings(['|'], [' '], PChar(FChkStr), FStrs);
|
|||
|
frmZDYHelpFZSel.Caption := Trim(flagname);
|
|||
|
|
|||
|
// for i := 0 to FStrs.Count-1 do
|
|||
|
// showmessage(FStrs[i]);
|
|||
|
|
|||
|
with ClientDataSet1 do
|
|||
|
begin
|
|||
|
First;
|
|||
|
while not eof do
|
|||
|
begin
|
|||
|
if FStrs.IndexOf(Trim(FieldByName('ZDYName').AsString)) >= 0 then
|
|||
|
begin
|
|||
|
Edit;
|
|||
|
FieldByName('SSel').Value := true;
|
|||
|
Post;
|
|||
|
end;
|
|||
|
Next;
|
|||
|
end;
|
|||
|
end;
|
|||
|
FStrs.Free;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.ToolButton1Click(Sender: TObject);
|
|||
|
begin
|
|||
|
ReturnStr := '';
|
|||
|
with ClientDataSet1 do
|
|||
|
begin
|
|||
|
First;
|
|||
|
while not Eof do
|
|||
|
begin
|
|||
|
if FieldByName('SSel').AsBoolean = True then
|
|||
|
begin
|
|||
|
if JiangeStr <> 99 then
|
|||
|
begin
|
|||
|
if FGStr <> '' then
|
|||
|
ReturnStr := ReturnStr + Trim(fieldbyname('ZDYName').AsString) + FGStr
|
|||
|
else
|
|||
|
ReturnStr := ReturnStr + Trim(fieldbyname('ZDYName').AsString) + ';'
|
|||
|
end
|
|||
|
else
|
|||
|
ReturnStr := ReturnStr + Trim(fieldbyname('ZDYName').AsString);
|
|||
|
end;
|
|||
|
Next;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if JiangeStr <> 99 then
|
|||
|
ReturnStr := Copy(ReturnStr, 1, Length(ReturnStr) - 1);
|
|||
|
ModalResult := 1;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.TBEditClick(Sender: TObject);
|
|||
|
begin
|
|||
|
TV1.OptionsData.Editing := True;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.TV1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
|||
|
begin
|
|||
|
if TV1.OptionsData.Editing = False then
|
|||
|
begin
|
|||
|
ModalResult := 1;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.TV1Column1PropertiesEditValueChanged(Sender: TObject);
|
|||
|
var
|
|||
|
mvalue, FFieldName: string;
|
|||
|
begin
|
|||
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
|
|||
|
with ClientDataSet1 do
|
|||
|
begin
|
|||
|
Edit;
|
|||
|
FieldByName(FFieldName).Value := mvalue;
|
|||
|
Post;
|
|||
|
end;
|
|||
|
with ADOQueryCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
sql.Add('Update KH_Zdy Set ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
|
|||
|
sql.Add(' where ZdyNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + '''');
|
|||
|
ExecSQL;
|
|||
|
end;
|
|||
|
tv1.Controller.EditingController.ShowEdit();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.ZDYNameChange(Sender: TObject);
|
|||
|
begin
|
|||
|
if ADOQueryMain.Active then
|
|||
|
begin
|
|||
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
|||
|
SCreateCDS(ADOQueryMain, ClientDataSet1);
|
|||
|
SInitCDSData(ADOQueryMain, ClientDataSet1);
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.V1NamePropertiesEditValueChanged(Sender: TObject);
|
|||
|
var
|
|||
|
maxno, mvalue: string;
|
|||
|
begin
|
|||
|
mvalue := TcxTextEdit(Sender).EditingText;
|
|||
|
|
|||
|
with ClientDataSet1 do
|
|||
|
begin
|
|||
|
Edit;
|
|||
|
FieldByName('ZDYName').Value := mvalue;
|
|||
|
Post;
|
|||
|
end;
|
|||
|
with ADOQueryCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
SQL.Clear;
|
|||
|
sql.Add('Update KH_Zdy Set ZDYName=''' + Trim(mvalue) + '''');
|
|||
|
sql.Add(' where ZdyNo=''' + Trim(ClientDataSet1.fieldbyname('ZdyNo').AsString) + '''');
|
|||
|
ExecSQL;
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmZDYHelpFZSel.FormDestroy(Sender: TObject);
|
|||
|
begin
|
|||
|
|
|||
|
frmZDYHelpFZSel := nil;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
end.
|
|||
|
|