diff --git a/云翔一码通/U_YMTRKInPut.dfm b/云翔一码通/U_YMTRKInPut.dfm index e35f97c..f1b9455 100644 --- a/云翔一码通/U_YMTRKInPut.dfm +++ b/云翔一码通/U_YMTRKInPut.dfm @@ -1,6 +1,6 @@ object frmYMTRKInPut: TfrmYMTRKInPut - Left = 389 - Top = 283 + Left = 397 + Top = 607 Width = 1829 Height = 623 Align = alClient @@ -528,67 +528,6 @@ object frmYMTRKInPut: TfrmYMTRKInPut Align = alRight Caption = 'Panel2' TabOrder = 3 - object cxGrid1: TcxGrid - Left = 1 - Top = 33 - Width = 187 - Height = 525 - Align = alClient - TabOrder = 0 - object TvMX: TcxGridDBTableView - OnKeyDown = TvMXKeyDown - Navigator.Buttons.CustomButtons = <> - Navigator.Buttons.Delete.Enabled = False - Navigator.Buttons.Delete.Visible = False - DataController.DataSource = DS_MX - DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] - DataController.Summary.DefaultGroupSummaryItems = < - item - Kind = skCount - Position = spFooter - end - item - Kind = skSum - Position = spFooter - Column = cxGridDBColumn8 - end - item - Kind = skCount - end - item - Kind = skSum - Column = cxGridDBColumn8 - end> - DataController.Summary.FooterSummaryItems = < - item - Kind = skCount - end - item - Kind = skSum - Column = cxGridDBColumn8 - end> - DataController.Summary.SummaryGroups = <> - OptionsCustomize.ColumnFiltering = False - OptionsView.Footer = True - OptionsView.GroupByBox = False - OptionsView.Indicator = True - OptionsView.IndicatorWidth = 33 - OnCustomDrawIndicatorCell = TvMXCustomDrawIndicatorCell - object cxGridDBColumn8: TcxGridDBColumn - Caption = #25968#37327 - DataBinding.FieldName = 'MXQty' - PropertiesClassName = 'TcxTextEditProperties' - Properties.Alignment.Horz = taCenter - Properties.OnEditValueChanged = cxGridDBColumn8PropertiesEditValueChanged - HeaderAlignmentHorz = taCenter - Options.Sorting = False - Width = 66 - end - end - object cxGridLevel2: TcxGridLevel - GridView = TvMX - end - end object ToolBar2: TToolBar Left = 1 Top = 1 @@ -609,7 +548,7 @@ object frmYMTRKInPut: TfrmYMTRKInPut ParentColor = False ParentFont = False ShowCaptions = True - TabOrder = 1 + TabOrder = 0 object ToolButton3: TToolButton Left = 0 Top = 0 @@ -627,6 +566,72 @@ object frmYMTRKInPut: TfrmYMTRKInPut OnClick = ToolButton4Click end end + object cxGrid1: TcxGrid + Left = -9 + Top = 33 + Width = 197 + Height = 525 + Align = alRight + TabOrder = 1 + object TvMX: TcxGridDBTableView + Navigator.Buttons.CustomButtons = <> + Navigator.Buttons.Delete.Enabled = False + Navigator.Buttons.Delete.Visible = False + DataController.DataSource = DS_MX + DataController.Options = [dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoImmediatePost] + DataController.Summary.DefaultGroupSummaryItems = < + item + Kind = skCount + Position = spFooter + end + item + Kind = skSum + Position = spFooter + Column = TvMXMXQty + end + item + Kind = skCount + end + item + Kind = skSum + Column = TvMXMXQty + end> + DataController.Summary.FooterSummaryItems = < + item + Kind = skCount + end + item + Kind = skSum + Column = TvMXMXQty + end> + DataController.Summary.SummaryGroups = <> + OptionsBehavior.GoToNextCellOnEnter = True + OptionsCustomize.ColumnFiltering = False + OptionsView.Footer = True + OptionsView.GroupByBox = False + OptionsView.Indicator = True + OptionsView.IndicatorWidth = 33 + OnCustomDrawIndicatorCell = TvMXCustomDrawIndicatorCell + object TvMXMXID: TcxGridDBColumn + Caption = #32534#21495 + DataBinding.FieldName = 'MXID' + HeaderAlignmentHorz = taCenter + Width = 80 + end + object TvMXMXQty: TcxGridDBColumn + Caption = #25968#37327 + DataBinding.FieldName = 'MXQty' + PropertiesClassName = 'TcxTextEditProperties' + HeaderAlignmentHorz = taCenter + Options.Editing = False + Options.Sorting = False + Width = 80 + end + end + object cxGridLevel2: TcxGridLevel + GridView = TvMX + end + end end object DataSource3: TDataSource DataSet = CDS_Sub diff --git a/云翔一码通/U_YMTRKInPut.pas b/云翔一码通/U_YMTRKInPut.pas index ededf05..47a0579 100644 --- a/云翔一码通/U_YMTRKInPut.pas +++ b/云翔一码通/U_YMTRKInPut.pas @@ -80,15 +80,16 @@ type CheckBox9: TCheckBox; Button2: TButton; Panel2: TPanel; - cxGrid1: TcxGrid; - TvMX: TcxGridDBTableView; - cxGridDBColumn8: TcxGridDBColumn; - cxGridLevel2: TcxGridLevel; ToolBar2: TToolBar; ToolButton3: TToolButton; ToolButton4: TToolButton; CDS_MX: TClientDataSet; DS_MX: TDataSource; + cxGrid1: TcxGrid; + TvMX: TcxGridDBTableView; + TvMXMXID: TcxGridDBColumn; + TvMXMXQty: TcxGridDBColumn; + cxGridLevel2: TcxGridLevel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBAddClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); @@ -115,7 +116,9 @@ type private { Private declarations } function SaveCKData(): Boolean; - procedure InitMXGrid(MCRNO: string); + procedure InitMXGrid(SPID: string); + procedure TfrmYMTRKInPut.InitGrid(); + procedure TfrmYMTRKInPut.AddRows(MaxNo: string; SPID: string; PiQty: Integer); public { Public declarations } FBCId: string; @@ -130,13 +133,59 @@ uses U_DataLink, U_RTFun, U_ZDYHelp, U_ZdyAttachGYS; {$R *.dfm} -procedure TfrmYMTRKInPut.InitMXGrid(MCRNO: string); +procedure TfrmYMTRKInPut.InitMXGrid(SPID: string); begin with ADOQueryTemp do begin Close; sql.Clear; - sql.Add('select * from YMT_CK_MX where CRNO=' + quotedstr(Trim(MCRNO))); + sql.Add('select * from YMT_CK_MX where SPID=' + quotedstr(Trim(SPID))); + sql.Add(' order by MXID'); + Open; + end; + SCreateCDS20(ADOQueryTemp, CDS_MX); + SInitCDSData20(ADOQueryTemp, CDS_MX); +end; + +procedure TfrmYMTRKInPut.AddRows(MaxNo: string; SPID: string; PiQty: Integer); +var + i: Integer; + MMXID: string; +begin + try + ADOQueryCmd.Connection.BeginTrans; + for i := 1 to PiQty do + begin + MMXID := Trim(MaxNo) + '-' + Format('%.3d', [i]); + with ADOQueryCmd do + begin + Close; + SQL.Clear; + sql.Add('insert into YMT_CK_MX (MXID,SPID,MXQty)'); + sql.Add('values(' + quotedstr(MMXID)); + sql.Add(',' + quotedstr(Trim(SPID))); + sql.Add(',0'); + sql.Add(')'); + ExecSQL; + end; + end; + ADOQueryCmd.Connection.CommitTrans; +// Result := True; + InitMXGrid(SPID); + except +// Result := False; + ADOQueryCmd.Connection.RollbackTrans; + Application.MessageBox('ʧ!', 'ʾ', 0); + end; +end; + +procedure TfrmYMTRKInPut.InitGrid(); +begin + with ADOQueryTemp do + begin + Close; + sql.Clear; + sql.Add('select * from YMT_CK_MX where SPID=' + quotedstr(Trim(MCRNO))); sql.Add(' order by MXID'); Open; end; @@ -718,34 +767,37 @@ end; procedure TfrmYMTRKInPut.ToolButton3Click(Sender: TObject); var - i: Integer; - MaxNo, MMXID, MCRNO: string; + i, PiQty: Integer; + MaxNo, MMXID, SPID: string; begin - MCRNO := Trim(CDS_Sub.fieldbyname('SPID').AsString); + SPID := Trim(CDS_Sub.fieldbyname('SPID').AsString); + PiQty := Trim(CDS_Sub.fieldbyname('PiQty').AsString); if GetLSNo(ADOQueryTemp, MaxNo, 'MCM', 'YMT_CK_MX', 3, 1) = False then begin Application.MessageBox('ȡʧ!', 'ʾ', 0); Exit; end; + AddRows(MaxNo, SPID, PiQty); + try ADOQueryCmd.Connection.BeginTrans; - for i := 1 to 10 do + for i := 1 to PiQty do begin - MMXID := Trim(MaxNo) + Trim(inttostr(i)); + MMXID := Trim(MaxNo) + '-' + Format('%.3d', [i]); with ADOQueryCmd do begin Close; SQL.Clear; - sql.Add('insert into YMT_CK_MX (MXID,CRNO,MXQty)'); + sql.Add('insert into YMT_CK_MX (MXID,SPID,MXQty)'); sql.Add('values(' + quotedstr(MMXID)); - sql.Add(',' + quotedstr(Trim(MCRNO))); + sql.Add(',' + quotedstr(Trim(SPID))); sql.Add(',0'); sql.Add(')'); ExecSQL; end; end; ADOQueryCmd.Connection.CommitTrans; - InitMXGrid(MCRNO); + InitMXGrid(SPID); except ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('ʧ!', 'ʾ', 0); diff --git a/云翔一码通/U_YMTRKList.dfm b/云翔一码通/U_YMTRKList.dfm index f8f3e10..b5fd2c7 100644 --- a/云翔一码通/U_YMTRKList.dfm +++ b/云翔一码通/U_YMTRKList.dfm @@ -1,6 +1,6 @@ object frmYMTRKList: TfrmYMTRKList - Left = 530 - Top = 497 + Left = 794 + Top = 440 Width = 1370 Height = 750 Caption = #38754#26009#22238#20179#30331#35760 @@ -745,19 +745,21 @@ object frmYMTRKList: TfrmYMTRKList List = True ShowCaptions = True TabOrder = 1 - object ToolButton3: TToolButton + object TbAddRow: TToolButton Left = 0 Top = 2 AutoSize = True Caption = #22686#21333#34892 ImageIndex = 12 + OnClick = TbAddRowClick end - object ToolButton4: TToolButton + object TbDeleteRow: TToolButton Left = 75 Top = 2 AutoSize = True Caption = #21024#34892 ImageIndex = 13 + OnClick = TbDeleteRowClick end end object Panel3: TPanel @@ -768,27 +770,28 @@ object frmYMTRKList: TfrmYMTRKList Align = alTop TabOrder = 2 object Label17: TLabel - Left = 1 + Left = 6 Top = 12 Width = 36 Height = 12 Caption = #22686#34892#25968 + Layout = tlCenter end - object Edit1: TEdit - Left = 40 - Top = 9 + object AddNum: TEdit + Left = 47 + Top = 10 Width = 41 Height = 20 TabOrder = 0 - Text = 'Edit1' end object Button1: TButton - Left = 96 - Top = 7 + Left = 98 + Top = 4 Width = 75 - Height = 25 + Height = 30 Caption = #24555#36895#22686#34892 TabOrder = 1 + OnClick = Button1Click end end end diff --git a/云翔一码通/U_YMTRKList.pas b/云翔一码通/U_YMTRKList.pas index d55b36a..ef3da2f 100644 --- a/云翔一码通/U_YMTRKList.pas +++ b/云翔一码通/U_YMTRKList.pas @@ -121,10 +121,10 @@ type TvMXMXID: TcxGridDBColumn; Panel2: TPanel; ToolBar2: TToolBar; - ToolButton3: TToolButton; - ToolButton4: TToolButton; + TbAddRow: TToolButton; + TbDeleteRow: TToolButton; Panel3: TPanel; - Edit1: TEdit; + AddNum: TEdit; Label17: TLabel; Button1: TButton; procedure FormDestroy(Sender: TObject); @@ -148,11 +148,14 @@ type procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); + procedure TbAddRowClick(Sender: TObject); + procedure TbDeleteRowClick(Sender: TObject); + procedure Button1Click(Sender: TObject); private canshu1, canshu2: string; procedure InitGrid(); procedure InitImage(fsubID: string); - procedure InitMXGrid(MCRNO: string); + procedure InitMXGrid(SPID: string); { Private declarations } public { Public declarations } @@ -164,7 +167,7 @@ var implementation uses - U_DataLink, U_RTFun, U_YMTRKInPut, U_ZdyAttachGYS ,U_LabelPrintFun; + U_DataLink, U_RTFun, U_YMTRKInPut, U_ZdyAttachGYS, U_LabelPrintFun; {$R *.dfm} procedure TfrmYMTRKList.InitMXGrid(SPID: string); @@ -173,7 +176,7 @@ begin begin Close; sql.Clear; - sql.Add('select * from YMT_CK_MX where SPID=' + quotedstr(Trim(SPID))); + sql.Add('select * from YMT_CK_MX where 1 = 1 and SPID=' + quotedstr(Trim(SPID))); sql.Add(' order by MXID'); Open; end; @@ -235,6 +238,8 @@ begin end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); + + InitMXGrid(Trim(CDS_Main.fieldbyname('SPID').AsString)); finally ADOQueryMain.EnableControls; end; @@ -275,9 +280,9 @@ begin TBDel.Visible := True; TBEdit.Visible := True; end; -// ReadCxGrid('첼б', Tv1, '첼ֿ'); -// ReadCxGrid('첼б2', TvMX, '첼ֿ'); - //InitGrid(); + ReadCxGrid('첼б', Tv1, '첼ֿ'); + ReadCxGrid('첼б2', TvMX, '첼ֿ'); + InitGrid(); end; procedure TfrmYMTRKList.TBExportClick(Sender: TObject); @@ -461,5 +466,58 @@ begin end; +procedure TfrmYMTRKList.TbAddRowClick(Sender: TObject); +begin + with CDS_MX do + begin + Append; + FieldByName('MXID').Value := ''; + FieldByName('MXQty').Value := 0; + Post; + end; +end; + +procedure TfrmYMTRKList.TbDeleteRowClick(Sender: TObject); +var + Bookmark: TBookmark; +begin + if CDS_MX.IsEmpty then + begin + Application.MessageBox('ǰûпɾļ¼', 'ʾ', MB_ICONWARNING); + Exit; + end; + + if Application.MessageBox('ȷҪɾǰ', 'ȷɾ', MB_ICONQUESTION + MB_YESNO) <> IDYES then + Exit; + + // ¼ǰУɾԻصλ + Bookmark := CDS_MX.GetBookmark; + try + CDS_MX.Delete; + finally + if CDS_MX.BookmarkValid(Bookmark) then + CDS_MX.GotoBookmark(Bookmark); + CDS_MX.FreeBookmark(Bookmark); + end; + +end; + +procedure TfrmYMTRKList.Button1Click(Sender: TObject); +var + Num, i: Integer; +begin + Num := StrToInt(Trim(AddNum.Text)); + for i := 1 to Num do + begin + with CDS_MX do + begin + Append; + FieldByName('MXID').Value := ''; + FieldByName('MXQty').Value := 0; + Post; + end; + end; +end; + end. diff --git a/云翔一码通/testDll.dof b/云翔一码通/testDll.dof index d454d72..8fcad10 100644 --- a/云翔一码通/testDll.dof +++ b/云翔一码通/testDll.dof @@ -101,7 +101,7 @@ DebugSourceDirs= UsePackages=0 [Parameters] RunParams= -HostApplication=D:\selfware_83398\selfware\ֿ\Ŀ\self\뵥DDMD.dll)\testDll.exe +HostApplication=D:\Project\D7myYunxiang\һͨ\testDll.exe Launcher= UseLauncher=0 DebugCWD=