SVN-Revision: r876
This commit is contained in:
wyf
2025-07-17 14:40:21 +00:00
parent 647a079333
commit b1375c708e
2 changed files with 713 additions and 59 deletions
+105 -44
View File
@@ -28,10 +28,9 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.dpb_Tools = new DevExpress.XtraEditors.DropDownButton();
this.pMenu = new DevExpress.XtraBars.PopupMenu(this.components);
this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
this.pMenu = new DevExpress.XtraBars.PopupMenu();
this.barManager1 = new DevExpress.XtraBars.BarManager();
this.barDockControlTop = new DevExpress.XtraBars.BarDockControl();
this.barDockControlBottom = new DevExpress.XtraBars.BarDockControl();
this.barDockControlLeft = new DevExpress.XtraBars.BarDockControl();
@@ -41,10 +40,11 @@
this.btnSave = new DevExpress.XtraEditors.SimpleButton();
this.btnAccradit = new DevExpress.XtraEditors.SimpleButton();
this.btnPrint = new DevExpress.XtraEditors.DropDownButton();
this.pMprint = new DevExpress.XtraBars.PopupMenu(this.components);
this.pMprint = new DevExpress.XtraBars.PopupMenu();
this.btnAttach = new DevExpress.XtraEditors.SimpleButton();
this.btnSpare = new DevExpress.XtraEditors.SimpleButton();
this.pcTool = new DevExpress.XtraEditors.PanelControl();
this.dbpFP = new DevExpress.XtraEditors.DropDownButton();
this.simpleButton2 = new DevExpress.XtraEditors.SimpleButton();
this.btnAdditional = new DevExpress.XtraEditors.SimpleButton();
this.btnRecord = new DevExpress.XtraEditors.SimpleButton();
@@ -68,6 +68,12 @@
this.gcDetail = new Lskj.Control.GridControlEx();
this.pcBillMain = new DevExpress.XtraEditors.XtraScrollableControl();
this.txt_billDocumentId = new Lskj.Control.LabelTextEdit();
this.pmFP = new DevExpress.XtraBars.PopupMenu();
this.barManager2 = new DevExpress.XtraBars.BarManager();
this.barDockControl1 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl2 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl3 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl5 = new DevExpress.XtraBars.BarDockControl();
((System.ComponentModel.ISupportInitialize)(this.pMenu)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.barManager1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pMprint)).BeginInit();
@@ -89,6 +95,8 @@
((System.ComponentModel.ISupportInitialize)(this.pcBillDetail)).BeginInit();
this.pcBillDetail.SuspendLayout();
this.pcBillMain.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pmFP)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.barManager2)).BeginInit();
this.SuspendLayout();
//
// dpb_Tools
@@ -98,7 +106,7 @@
this.dpb_Tools.Appearance.Options.UseFont = true;
this.dpb_Tools.DropDownArrowStyle = DevExpress.XtraEditors.DropDownArrowStyle.Show;
this.dpb_Tools.DropDownControl = this.pMenu;
this.dpb_Tools.Location = new System.Drawing.Point(465, 6);
this.dpb_Tools.Location = new System.Drawing.Point(585, 6);
this.dpb_Tools.Name = "dpb_Tools";
this.dpb_Tools.Size = new System.Drawing.Size(75, 26);
this.dpb_Tools.TabIndex = 24;
@@ -125,7 +133,7 @@
this.barDockControlTop.Dock = System.Windows.Forms.DockStyle.Top;
this.barDockControlTop.Location = new System.Drawing.Point(0, 0);
this.barDockControlTop.Margin = new System.Windows.Forms.Padding(4);
this.barDockControlTop.Size = new System.Drawing.Size(1032, 0);
this.barDockControlTop.Size = new System.Drawing.Size(1152, 0);
//
// barDockControlBottom
//
@@ -133,7 +141,7 @@
this.barDockControlBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
this.barDockControlBottom.Location = new System.Drawing.Point(0, 780);
this.barDockControlBottom.Margin = new System.Windows.Forms.Padding(4);
this.barDockControlBottom.Size = new System.Drawing.Size(1032, 0);
this.barDockControlBottom.Size = new System.Drawing.Size(1152, 0);
//
// barDockControlLeft
//
@@ -147,7 +155,7 @@
//
this.barDockControlRight.CausesValidation = false;
this.barDockControlRight.Dock = System.Windows.Forms.DockStyle.Right;
this.barDockControlRight.Location = new System.Drawing.Point(1032, 0);
this.barDockControlRight.Location = new System.Drawing.Point(1152, 0);
this.barDockControlRight.Margin = new System.Windows.Forms.Padding(4);
this.barDockControlRight.Size = new System.Drawing.Size(0, 780);
//
@@ -157,7 +165,7 @@
this.btnClose.Appearance.Font = new System.Drawing.Font("宋体", 9F);
this.btnClose.Appearance.Options.UseFont = true;
this.btnClose.Enabled = false;
this.btnClose.Location = new System.Drawing.Point(951, 6);
this.btnClose.Location = new System.Drawing.Point(1071, 6);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(75, 26);
this.btnClose.TabIndex = 22;
@@ -169,7 +177,7 @@
this.btnBack.Appearance.Font = new System.Drawing.Font("宋体", 9F);
this.btnBack.Appearance.Options.UseFont = true;
this.btnBack.Enabled = false;
this.btnBack.Location = new System.Drawing.Point(870, 6);
this.btnBack.Location = new System.Drawing.Point(990, 6);
this.btnBack.Name = "btnBack";
this.btnBack.Size = new System.Drawing.Size(75, 26);
this.btnBack.TabIndex = 21;
@@ -182,7 +190,7 @@
this.btnSave.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnSave.Appearance.Options.UseFont = true;
this.btnSave.Enabled = false;
this.btnSave.Location = new System.Drawing.Point(708, 6);
this.btnSave.Location = new System.Drawing.Point(828, 6);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(75, 26);
this.btnSave.TabIndex = 25;
@@ -195,7 +203,7 @@
this.btnAccradit.Appearance.Font = new System.Drawing.Font("宋体", 9F);
this.btnAccradit.Appearance.Options.UseFont = true;
this.btnAccradit.Enabled = false;
this.btnAccradit.Location = new System.Drawing.Point(789, 6);
this.btnAccradit.Location = new System.Drawing.Point(909, 6);
this.btnAccradit.Name = "btnAccradit";
this.btnAccradit.Size = new System.Drawing.Size(75, 26);
this.btnAccradit.TabIndex = 20;
@@ -210,7 +218,7 @@
this.btnPrint.Appearance.Options.UseFont = true;
this.btnPrint.DropDownArrowStyle = DevExpress.XtraEditors.DropDownArrowStyle.Show;
this.btnPrint.DropDownControl = this.pMprint;
this.btnPrint.Location = new System.Drawing.Point(546, 6);
this.btnPrint.Location = new System.Drawing.Point(666, 6);
this.btnPrint.Name = "btnPrint";
this.btnPrint.Size = new System.Drawing.Size(75, 26);
this.btnPrint.TabIndex = 26;
@@ -226,7 +234,7 @@
this.btnAttach.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnAttach.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnAttach.Appearance.Options.UseFont = true;
this.btnAttach.Location = new System.Drawing.Point(627, 6);
this.btnAttach.Location = new System.Drawing.Point(747, 6);
this.btnAttach.Name = "btnAttach";
this.btnAttach.Size = new System.Drawing.Size(75, 26);
this.btnAttach.TabIndex = 23;
@@ -238,7 +246,7 @@
this.btnSpare.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnSpare.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnSpare.Appearance.Options.UseFont = true;
this.btnSpare.Location = new System.Drawing.Point(384, 6);
this.btnSpare.Location = new System.Drawing.Point(504, 6);
this.btnSpare.Name = "btnSpare";
this.btnSpare.Size = new System.Drawing.Size(75, 26);
this.btnSpare.TabIndex = 27;
@@ -248,6 +256,7 @@
// pcTool
//
this.pcTool.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
this.pcTool.Controls.Add(this.dbpFP);
this.pcTool.Controls.Add(this.simpleButton2);
this.pcTool.Controls.Add(this.btnAdditional);
this.pcTool.Controls.Add(this.btnRecord);
@@ -263,15 +272,28 @@
this.pcTool.Dock = System.Windows.Forms.DockStyle.Bottom;
this.pcTool.Location = new System.Drawing.Point(0, 743);
this.pcTool.Name = "pcTool";
this.pcTool.Size = new System.Drawing.Size(1032, 37);
this.pcTool.Size = new System.Drawing.Size(1152, 37);
this.pcTool.TabIndex = 3;
//
// dbpFP
//
this.dbpFP.AllowFocus = false;
this.dbpFP.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.dbpFP.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.dbpFP.Appearance.Options.UseFont = true;
this.dbpFP.DropDownControl = this.pmFP;
this.dbpFP.Location = new System.Drawing.Point(84, 6);
this.dbpFP.Name = "dbpFP";
this.dbpFP.Size = new System.Drawing.Size(75, 26);
this.dbpFP.TabIndex = 37;
this.dbpFP.Text = "分配";
//
// simpleButton2
//
this.simpleButton2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.simpleButton2.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.simpleButton2.Appearance.Options.UseFont = true;
this.simpleButton2.Location = new System.Drawing.Point(221, 6);
this.simpleButton2.Location = new System.Drawing.Point(341, 6);
this.simpleButton2.Name = "simpleButton2";
this.simpleButton2.Size = new System.Drawing.Size(75, 26);
this.simpleButton2.TabIndex = 28;
@@ -283,7 +305,7 @@
this.btnAdditional.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnAdditional.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnAdditional.Appearance.Options.UseFont = true;
this.btnAdditional.Location = new System.Drawing.Point(45, 6);
this.btnAdditional.Location = new System.Drawing.Point(165, 6);
this.btnAdditional.Name = "btnAdditional";
this.btnAdditional.Size = new System.Drawing.Size(89, 26);
this.btnAdditional.TabIndex = 27;
@@ -295,7 +317,7 @@
this.btnRecord.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnRecord.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnRecord.Appearance.Options.UseFont = true;
this.btnRecord.Location = new System.Drawing.Point(140, 6);
this.btnRecord.Location = new System.Drawing.Point(260, 6);
this.btnRecord.Name = "btnRecord";
this.btnRecord.Size = new System.Drawing.Size(75, 26);
this.btnRecord.TabIndex = 27;
@@ -307,7 +329,7 @@
this.btnReflash.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnReflash.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnReflash.Appearance.Options.UseFont = true;
this.btnReflash.Location = new System.Drawing.Point(303, 6);
this.btnReflash.Location = new System.Drawing.Point(423, 6);
this.btnReflash.Name = "btnReflash";
this.btnReflash.Size = new System.Drawing.Size(75, 26);
this.btnReflash.TabIndex = 27;
@@ -320,7 +342,7 @@
this.panelControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl1.Location = new System.Drawing.Point(0, 0);
this.panelControl1.Name = "panelControl1";
this.panelControl1.Size = new System.Drawing.Size(1032, 743);
this.panelControl1.Size = new System.Drawing.Size(1152, 743);
this.panelControl1.TabIndex = 4;
//
// splitMain
@@ -333,7 +355,7 @@
this.splitMain.Panel1.Text = "Panel1";
this.splitMain.Panel2.Controls.Add(this.pcBillDetail);
this.splitMain.Panel2.Text = "Panel2";
this.splitMain.Size = new System.Drawing.Size(1028, 739);
this.splitMain.Size = new System.Drawing.Size(1148, 739);
this.splitMain.SplitterPosition = 376;
this.splitMain.TabIndex = 0;
this.splitMain.Text = "splitContainerControl1";
@@ -347,7 +369,7 @@
this.tabMain.Location = new System.Drawing.Point(0, 0);
this.tabMain.Name = "tabMain";
this.tabMain.SelectedTabPage = this.tabpage_finish;
this.tabMain.Size = new System.Drawing.Size(1028, 376);
this.tabMain.Size = new System.Drawing.Size(1148, 376);
this.tabMain.TabIndex = 21;
this.tabMain.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.tabpage_finish});
@@ -358,7 +380,7 @@
this.tabpage_finish.Controls.Add(this.gridFinish);
this.tabpage_finish.Controls.Add(this.pl_top);
this.tabpage_finish.Name = "tabpage_finish";
this.tabpage_finish.Size = new System.Drawing.Size(1022, 347);
this.tabpage_finish.Size = new System.Drawing.Size(1142, 347);
this.tabpage_finish.Text = "已完成单据";
//
// gridFinish
@@ -369,7 +391,8 @@
this.gridFinish.Margin = new System.Windows.Forms.Padding(4);
this.gridFinish.Name = "gridFinish";
this.gridFinish.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
this.gridFinish.Size = new System.Drawing.Size(1022, 308);
this.gridFinish.Size = new System.Drawing.Size(1142, 308);
this.gridFinish.SysModel = null;
this.gridFinish.TabIndex = 26;
//
// pl_top
@@ -379,7 +402,7 @@
this.pl_top.Dock = System.Windows.Forms.DockStyle.Top;
this.pl_top.Location = new System.Drawing.Point(0, 0);
this.pl_top.Name = "pl_top";
this.pl_top.Size = new System.Drawing.Size(1022, 39);
this.pl_top.Size = new System.Drawing.Size(1142, 39);
this.pl_top.TabIndex = 25;
//
// pl_top_searchCond
@@ -393,7 +416,7 @@
this.pl_top_searchCond.Dock = System.Windows.Forms.DockStyle.Fill;
this.pl_top_searchCond.Location = new System.Drawing.Point(2, 2);
this.pl_top_searchCond.Name = "pl_top_searchCond";
this.pl_top_searchCond.Size = new System.Drawing.Size(850, 35);
this.pl_top_searchCond.Size = new System.Drawing.Size(970, 35);
this.pl_top_searchCond.TabIndex = 23;
//
// labeldate_start
@@ -477,7 +500,7 @@
this.pl_top_right.Controls.Add(this.simpleButton1);
this.pl_top_right.Controls.Add(this.btnBackTop);
this.pl_top_right.Dock = System.Windows.Forms.DockStyle.Right;
this.pl_top_right.Location = new System.Drawing.Point(852, 2);
this.pl_top_right.Location = new System.Drawing.Point(972, 2);
this.pl_top_right.Name = "pl_top_right";
this.pl_top_right.Size = new System.Drawing.Size(168, 35);
this.pl_top_right.TabIndex = 24;
@@ -510,7 +533,7 @@
this.pcBillDetail.Dock = System.Windows.Forms.DockStyle.Fill;
this.pcBillDetail.Location = new System.Drawing.Point(0, 0);
this.pcBillDetail.Name = "pcBillDetail";
this.pcBillDetail.Size = new System.Drawing.Size(1028, 358);
this.pcBillDetail.Size = new System.Drawing.Size(1148, 358);
this.pcBillDetail.TabIndex = 0;
//
// gcDetail
@@ -521,7 +544,8 @@
this.gcDetail.Margin = new System.Windows.Forms.Padding(8, 10, 8, 10);
this.gcDetail.Name = "gcDetail";
this.gcDetail.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
this.gcDetail.Size = new System.Drawing.Size(1024, 236);
this.gcDetail.Size = new System.Drawing.Size(1144, 236);
this.gcDetail.SysModel = null;
this.gcDetail.TabIndex = 12;
//
// pcBillMain
@@ -530,7 +554,7 @@
this.pcBillMain.Dock = System.Windows.Forms.DockStyle.Top;
this.pcBillMain.Location = new System.Drawing.Point(2, 2);
this.pcBillMain.Name = "pcBillMain";
this.pcBillMain.Size = new System.Drawing.Size(1024, 118);
this.pcBillMain.Size = new System.Drawing.Size(1144, 118);
this.pcBillMain.TabIndex = 10;
//
// txt_billDocumentId
@@ -550,9 +574,55 @@
this.txt_billDocumentId.TabIndex = 0;
this.txt_billDocumentId.Visible = false;
//
// pmFP
//
this.pmFP.Manager = this.barManager2;
this.pmFP.Name = "pmFP";
//
// barManager2
//
this.barManager2.DockControls.Add(this.barDockControl1);
this.barManager2.DockControls.Add(this.barDockControl2);
this.barManager2.DockControls.Add(this.barDockControl3);
this.barManager2.DockControls.Add(this.barDockControl5);
this.barManager2.Form = this;
this.barManager2.MaxItemId = 0;
//
// barDockControl1
//
this.barDockControl1.CausesValidation = false;
this.barDockControl1.Dock = System.Windows.Forms.DockStyle.Top;
this.barDockControl1.Location = new System.Drawing.Point(0, 0);
this.barDockControl1.Size = new System.Drawing.Size(1152, 0);
//
// barDockControl2
//
this.barDockControl2.CausesValidation = false;
this.barDockControl2.Dock = System.Windows.Forms.DockStyle.Bottom;
this.barDockControl2.Location = new System.Drawing.Point(0, 743);
this.barDockControl2.Size = new System.Drawing.Size(1152, 0);
//
// barDockControl3
//
this.barDockControl3.CausesValidation = false;
this.barDockControl3.Dock = System.Windows.Forms.DockStyle.Left;
this.barDockControl3.Location = new System.Drawing.Point(0, 0);
this.barDockControl3.Size = new System.Drawing.Size(0, 743);
//
// barDockControl5
//
this.barDockControl5.CausesValidation = false;
this.barDockControl5.Dock = System.Windows.Forms.DockStyle.Right;
this.barDockControl5.Location = new System.Drawing.Point(1152, 0);
this.barDockControl5.Size = new System.Drawing.Size(0, 743);
//
// AuditPanel2
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.barDockControl3);
this.Controls.Add(this.barDockControl5);
this.Controls.Add(this.barDockControl2);
this.Controls.Add(this.barDockControl1);
this.Controls.Add(this.panelControl1);
this.Controls.Add(this.pcTool);
this.Controls.Add(this.barDockControlLeft);
@@ -560,7 +630,7 @@
this.Controls.Add(this.barDockControlBottom);
this.Controls.Add(this.barDockControlTop);
this.Name = "AuditPanel2";
this.Size = new System.Drawing.Size(1032, 780);
this.Size = new System.Drawing.Size(1152, 780);
((System.ComponentModel.ISupportInitialize)(this.pMenu)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.barManager1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pMprint)).EndInit();
@@ -582,6 +652,8 @@
((System.ComponentModel.ISupportInitialize)(this.pcBillDetail)).EndInit();
this.pcBillDetail.ResumeLayout(false);
this.pcBillMain.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pmFP)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.barManager2)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -618,15 +690,4 @@
private DevExpress.XtraTab.XtraTabPage tabpage_finish;
private GridControlEx gridFinish;
private DevExpress.XtraEditors.PanelControl pl_top;
private DevExpress.XtraEditors.PanelControl pl_top_searchCond;
private LabelCheckDateEdit labeldate_start;
private LabelCheckAutoTextEdit labelcheck_finalAuditor;
private LabelTextEdit labeltxt_dataFlag;
private DevExpress.XtraEditors.SimpleButton btnSearch;
private LabelCheckDateEdit labeldate_end;
private DevExpress.XtraEditors.PanelControl pl_top_right;
private DevExpress.XtraEditors.SimpleButton simpleButton1;
private DevExpress.XtraEditors.SimpleButton btnBackTop;
public DevExpress.XtraEditors.SimpleButton simpleButton2;
}
}
private DevExpress.XtraEditors.PanelControl pl_top_s
+608 -15
View File
@@ -76,10 +76,22 @@ namespace Lskj.Control
/// 基础审批模型
/// </summary>
public BaseAccraditationModel BaseAccraditModelObj;
private DynamicPubAccraditionPopModel _sysModel;
/// <summary>
/// 单据入口参数模型
/// </summary>
public DynamicPubAccraditionPopModel SysModel;
public DynamicPubAccraditionPopModel SysModel
{
get
{
return _sysModel;
}
set
{
_sysModel = value;
}
}
/// <summary>
/// 主表控件
/// </summary>
@@ -136,6 +148,15 @@ namespace Lskj.Control
public DataRow SectionAccradit;
#region
/// <summary>
/// 数量名称
/// </summary>
public string NumberMc;
/// <summary>
/// 主键字段
/// </summary>
private string mRecordPrimaryField;
private string guidField = "xxxxx_guid";
/// <summary>
/// 自定义搜索控件
/// </summary>
private MyControl _searchContrl;
@@ -260,6 +281,16 @@ namespace Lskj.Control
this.btnBack.Enabled = false;
}
this.GetPrintOtherParam();
//加载分配
this.dbpFP.Click += new System.EventHandler(this.OnBtnFPOldClick);
BarButtonItem itemFPBatch = new BarButtonItem();
itemFPBatch.Caption = "批量分配";
itemFPBatch.ItemClick += new ItemClickEventHandler(OnBtnFPNewClick);
//分配
this.pmFP.AddItems(new BarItem[] { itemFPBatch });
this.dbpFP.Visible = !string.IsNullOrWhiteSpace(this.BillModelObj.PopupUnionCode);
}
catch (Exception ex)
{
@@ -743,7 +774,7 @@ namespace Lskj.Control
//this.btnAttach.Text = "附件"+"(" + AttachImpl.GetFileCount(this.BillModelObj.DirId + "", this.SysModel.BillDocumentId) + ")";
//记录推送用户
this.GetPushOpers();
this.gcDetail.gridControl.Paint += new PaintEventHandler(gridBillInfo_Panint);
this.gcDetail.gridControl.Paint += new PaintEventHandler(gcDetail_Panint);
//this.pcGrid.GridView.RowCellClick += new DevExpress.XtraGrid.Views.Grid.RowCellClickEventHandler(OnPcgridRowCellClick);
//this.pcGrid.GridView.FocusedRowChanged += new DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventHandler(OnPcgridRowFocusedRowChanged);
this._dtBillInfoFiled = BillAuditImpl.GetBillInfoData(this.SysModel.ModuleCode);
@@ -767,7 +798,7 @@ namespace Lskj.Control
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
private void gridBillInfo_Panint(object sender, PaintEventArgs e)
private void gcDetail_Panint(object sender, PaintEventArgs e)
{
if (this.SysModel.StepOver != "1") return;
GraphicsText graphicsText = new GraphicsText();
@@ -1338,12 +1369,12 @@ namespace Lskj.Control
{
try
{
if (_printSaveParams != null && _printSaveParams.Count > 0)
if (_printSaveParams != null && _printSaveParams.Count > 0)
{
//打印完成后添加数据库
int result = BaseModuleImpl.SavePrintRecord(_printSaveParams[0], _printSaveParams[1], _printSaveParams[2], _printSaveParams[3], _printSaveParams[4]);
}
}
catch (Exception ex)
{
@@ -1500,7 +1531,7 @@ namespace Lskj.Control
this.btnClose.Visible = this._flowTypeStepModel.StepClosed == 1;
//this.btnAccradit.Visible = BillAuditImpl.GetBillComfirm(this.SysModel.ConfirmId) < 0;
}
#endregion
#region
@@ -1715,7 +1746,7 @@ namespace Lskj.Control
finally
{
WaitForm.HideForm();
if(!this.BaseAccraditModelObj.DisableAutomaticRefresh) RefreshTabPage();
if (!this.BaseAccraditModelObj.DisableAutomaticRefresh) RefreshTabPage();
DataTable detailTable = gcDetail.GridControl.DataSourceTable();
detailTable.Clear();
this.ControlObj.ResetControlValue();
@@ -1725,14 +1756,14 @@ namespace Lskj.Control
else
{
//主表必填
if (!this.ControlObj.isRequiredFields(this.AuditModelObj.RequiredFields))
if (!this.ControlObj.isRequiredFields(this.AuditModelObj.RequiredFields))
{
MessageUtil.Show("单据内存在必填项未处理");
return;
}
//明细必填
if (!this.gcDetail.GridControl.isRequiredFields(this.AuditModelObj.RequiredDetailFields, this.gcDetail.GridView))
if (!this.gcDetail.GridControl.isRequiredFields(this.AuditModelObj.RequiredDetailFields, this.gcDetail.GridView))
{
MessageUtil.Show("单据内存在必填项未处理");
return;
@@ -1747,7 +1778,7 @@ namespace Lskj.Control
}
//选中上一次选中行行号
if (SelectGridControlEx != null && oldRowHandle > 0)
if (SelectGridControlEx != null && oldRowHandle > 0)
{
SelectGridControlEx.GridView.SelectRowHandler(oldRowHandle);
OnPcgridRowCellClick(SelectGridControlEx.GridView, null);
@@ -1873,7 +1904,7 @@ namespace Lskj.Control
{
bool result = SaveBillData();
if (result)
if (result)
{
//获取当前页签的GridControlEx和选中行行号
int oldRowHandle = 0;
@@ -1930,7 +1961,7 @@ namespace Lskj.Control
if (this.ControlObj.FindControl(model) != null)
{
string fieldValue = this.ControlObj.GetControlValue(model);
if (fieldValue == "****") continue;
if (fieldValue == "****") continue;
//updateBuilder.AppendFormat("{0}='{1}',", model.FieldName, fieldValue);
updateBuilder.Append(string.IsNullOrEmpty(fieldValue) ? string.Format("{0}={1}", model.FieldName, this.ControlObj.GetNullValue(model)) : string.Format("{0}=N'{1}',", model.FieldName, fieldValue.Contains("'") ? fieldValue.Replace("'", "''") : fieldValue));
@@ -2481,10 +2512,11 @@ namespace Lskj.Control
DynamicPubAccraditionPopModel SysModel = tabPage.Tag as DynamicPubAccraditionPopModel;
if (SysModel == null)
{
this.btnClose .Enabled= this.btnSave.Enabled = this.btnAccradit.Enabled = this.btnBack.Enabled = this.btnSpare.Enabled = false;
this.btnClose.Enabled = this.btnSave.Enabled = this.btnAccradit.Enabled = this.btnBack.Enabled = this.btnSpare.Enabled = false;
return;
}
else {
else
{
this.btnClose.Enabled = this.btnSave.Enabled = this.btnAccradit.Enabled = this.btnBack.Enabled = this.btnSpare.Enabled = true;
}
InitControl(SysModel);
@@ -2776,4 +2808,565 @@ namespace Lskj.Control
}
catch (Exception ex)
{
string M
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message, ex.Message);
}
}
#endregion
/// <summary>
/// 优化加载速度
/// </summary>
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
public EventHandler GridView_DoubleClick { get; set; }
/// <summary>
/// 导出明细
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void simpleButton2_Click(object sender, EventArgs e)
{
LogUtil.WriteDebug(this.SysModel.ModuleCode, "导出数据", this.SysModel.FormText, "单据明细导出", this.SysModel.ModuleId + "");
this.gcDetail.GridControl.ToExcel(this.SysModel.FormText);
}
/// <summary>
/// <para>说明:分配明细</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2020-01-15 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
private void OnBtnFPOldClick(object sender, EventArgs e)
{
this.gcDetail.GridView.PostEditor();
FPOld();
}
private void OnBtnFPNewClick(object sender, EventArgs e)
{
this.gcDetail.GridView.PostEditor();
FPNew();
}
/// <summary>
/// 新版分配
/// </summary>
private void FPNew(int rowHandle = 0)
{
try
{
this.gcDetail.GridView.FocusedRowHandle = rowHandle;
DataTable table = this.gcDetail.GridControl.DataSource as DataTable;
if (!table.Columns.Contains(guidField))
{
table.Columns.Add(guidField, typeof(string));
}
#region
string[] args = { this.SysModel.FormText, this.SysModel.UserId, this.SysModel.UserName, this.SysModel.Privilege, this.SysModel.ModuleCode, this.SysModel.ModuleId + "", this.BillModelObj.PopupUnionCode, "1000" };
DynamicBaseSelectModel baseModel = new DynamicBaseSelectModel(args);
using (FrmBaseSelectBatch frmSelect = new FrmBaseSelectBatch(baseModel, this.ControlObj, this.gcDetail))
{
frmSelect.Text = this.BillModelObj.TypeName;
frmSelect.InitControl();
frmSelect.OnAfterFPCallback += OnAfterFPCallback;
#region
DataRow rowItem = this.gcDetail.GridView.GetFocusedDataRow();
if (rowItem == null)
{
return;
}
rowItem[guidField] = Guid.NewGuid().ToString();
if (!string.IsNullOrEmpty(mRecordPrimaryField) && table.Columns.Contains(this.mRecordPrimaryField))
{
// 检查数据是否为分配后的行
if (!string.IsNullOrEmpty(rowItem[this.mRecordPrimaryField] + ""))
{
if (this.gcDetail.GridView.FocusedRowHandle + 1 <= this.gcDetail.GridView.RowCount - 1)
{
int focusedRowHandle = this.gcDetail.GridView.FocusedRowHandle + 1;
this.gcDetail.GridView.FocusedRowHandle = focusedRowHandle;
if (this.gcDetail.GridView.FocusedRowHandle == focusedRowHandle)
{
FPNew(focusedRowHandle);
}
else
{
MessageUtil.Show("全部分配完毕");
}
}
return;
}
}
if (!string.IsNullOrEmpty(mRecordPrimaryField))
{
frmSelect.FpRows = table.Rows.Cast<DataRow>().Where(x => (rowItem[guidField] + "").Equals(x[guidField] + "")).ToArray();
if (frmSelect.FpRows != null && frmSelect.FpRows.Length > 0)
{
List<DataRow> rows = frmSelect.FpRows.ToList();
rows.Remove(rowItem);
frmSelect.FpRows = rows.ToArray();
}
if (table.Columns.Contains(mRecordPrimaryField))
{
frmSelect.FpOtherRows = table.Rows.Cast<DataRow>().Where(x => !(rowItem[guidField] + "").Equals(x[guidField] + "") && !string.IsNullOrEmpty(x[mRecordPrimaryField] + "")).ToArray();
}
}
frmSelect.InitData(rowItem);
frmSelect.OnBtnFPClick(null, null);
#endregion
//frmSelect.ShowDialog();
#endregion
}
}
catch (Exception ex)
{
MessageUtil.Show(ex.Message);
}
}
/// <summary>
/// 分配完成后回调
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OnAfterFPCallback(object sender, EventArgs e)
{
WaitForm.ShowForm();
try
{
// 临时禁用新增行(空白行)
if (this.BillModelObj.DefaultAddEmptyRow) this.gcDetail.GridView.OptionsView.NewItemRowPosition = NewItemRowPosition.None;
DataRow rowItem = this.gcDetail.GridView.GetFocusedDataRow();
if (rowItem == null)
{
return;
}
DataTable table = this.gcDetail.GridControl.DataSource as DataTable;
FrmBaseSelectBatch frmSelect = (FrmBaseSelectBatch)sender;
rowItem[guidField] = Guid.NewGuid().ToString();
if (!string.IsNullOrEmpty(mRecordPrimaryField) && table.Columns.Contains(this.mRecordPrimaryField))
{
// 检查数据是否为分配后的行
if (!string.IsNullOrEmpty(rowItem[this.mRecordPrimaryField] + ""))
{
if (this.gcDetail.GridView.FocusedRowHandle + 1 <= this.gcDetail.GridView.RowCount - 1)
{
this.gcDetail.GridView.FocusedRowHandle += 1;
OnAfterFPCallback(sender, e);
}
return;
}
}
if (!string.IsNullOrEmpty(mRecordPrimaryField))
{
frmSelect.FpRows = table.Rows.Cast<DataRow>().Where(x => (rowItem[guidField] + "").Equals(x[guidField] + "")).ToArray();
if (frmSelect.FpRows != null && frmSelect.FpRows.Length > 0)
{
List<DataRow> rows = frmSelect.FpRows.ToList();
rows.Remove(rowItem);
frmSelect.FpRows = rows.ToArray();
}
if (table.Columns.Contains(mRecordPrimaryField))
{
frmSelect.FpOtherRows = table.Rows.Cast<DataRow>().Where(x => !(rowItem[guidField] + "").Equals(x[guidField] + "") && !string.IsNullOrEmpty(x[mRecordPrimaryField] + "")).ToArray();
}
}
frmSelect.InitData(rowItem);
bool success = frmSelect.FP();
if (success)
{
if (frmSelect.SelectedRows != null && frmSelect.SelectedRows.Length > 0)
{
// 增加标识列
if (!table.Columns.Contains(frmSelect.RecordPrimaryField))
{
this.mRecordPrimaryField = frmSelect.RecordPrimaryField;
table.Columns.Add(this.mRecordPrimaryField, typeof(String));
}
foreach (DataRow item in frmSelect.SelectedRows)
{
DataRow newRow = table.NewRow();
newRow.ItemArray = rowItem.ItemArray;
newRow[guidField] = rowItem[guidField];
DataColumn IsIdentCol = newRow.Table.Columns.Cast<DataColumn>().FirstOrDefault(x => x.ColumnName == BaseImpl.GetResult(string.Format("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='{0}' AND COLUMNPROPERTY(OBJECT_ID('{0}'),COLUMN_NAME,'IsIdentity')=1", BillModelObj.DetailTable)) + "");
//自增长列分配按空值取
if (IsIdentCol != null)
{
if (IsIdentCol.DataType == typeof(Decimal) ||
IsIdentCol.DataType == typeof(Double) ||
IsIdentCol.DataType == typeof(Int16) ||
IsIdentCol.DataType == typeof(Int32) ||
IsIdentCol.DataType == typeof(Int64))
{
newRow[IsIdentCol.ColumnName] = 0;
}
}
foreach (DataColumn col in item.Table.Columns)
{
if (table.Columns.Contains(col.ColumnName))
{
//newRow[col.ColumnName] = item[col.ColumnName];
newRow[col.ColumnName] = item[col.ColumnName];
GridColumn column = this.gcDetail.GridView.Columns[col.ColumnName];
if (column != null)
{
GridColumnModel model = column.Tag as GridColumnModel;
if (!string.IsNullOrEmpty(model.UnionFields))
{
this.SetUnionValue(model, rowItem[column.FieldName] + "", newRow);
}
SetCalcValue(model, rowItem[column.FieldName] + "", newRow);
}
}
}
newRow[frmSelect.AmountField] = item[frmSelect.AmountField];
newRow[frmSelect.RecordPrimaryField] = item[frmSelect.RecordPrimaryField];
table.Rows.Add(newRow);
}
NumberMc = frmSelect.AmountField;
table.Rows.Remove(rowItem);
// 重排顺序
table.OrderBy(this.BillModelObj.DetailOrderField);
this.gcDetail.GridView.UpdateCurrentRow();
this.gcDetail.GridView.ShowEditor();
if (frmSelect.isNextOne)
{
int SourceRowIndex = this.gcDetail.GridView.GetFocusedDataSourceRowIndex();
DataRow[] a = table.Rows.Cast<DataRow>().Where(x => string.IsNullOrEmpty(x[guidField].ToString())).ToArray();
if (a.Length != 0)
{
this.gcDetail.GridView.FocusedRowHandle = SourceRowIndex;
OnAfterFPCallback(sender, e);
}
else
{
MessageUtil.Show("全部分配完毕");
// frmSelect.SelectRowItem = null;
}
}
}
}
else
{
if (this.gcDetail.GridView.FocusedRowHandle + 1 <= this.gcDetail.GridView.RowCount - 1)
{
this.gcDetail.GridView.FocusedRowHandle += 1;
OnAfterFPCallback(sender, e);
}
else
{
MessageUtil.Show("全部分配完毕");
}
}
}
catch (Exception)
{
throw;
}
finally
{
// 重新开启新增行(空白行)
if (this.BillModelObj.DefaultAddEmptyRow) this.gcDetail.GridView.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom;
WaitForm.HideForm();
}
}
/// <summary>
/// 老版分配
/// </summary>
private void FPOld()
{
try
{
DataRow rowItem = this.gcDetail.GridView.GetFocusedDataRow();
if (rowItem == null)
{
MessageUtil.Show("请先选择一条明细在进行分配!");
return;
}
DataTable table = this.gcDetail.GridControl.DataSource as DataTable;
if (!table.Columns.Contains(guidField))
{
table.Columns.Add(guidField, typeof(string));
}
rowItem[guidField] = Guid.NewGuid().ToString(); ;
if (!string.IsNullOrEmpty(mRecordPrimaryField) && table.Columns.Contains(this.mRecordPrimaryField))
{
// 检查数据是否为分配后的行
if (!string.IsNullOrEmpty(rowItem[this.mRecordPrimaryField] + ""))
{
MessageUtil.Show("该行数据为已分配后的数据,无需分配!");
return;
}
}
string[] args = { this.SysModel.FormText, this.SysModel.UserId, this.SysModel.UserName, this.SysModel.Privilege, this.SysModel.ModuleCode, this.SysModel.ModuleId + "", this.BillModelObj.PopupUnionCode, "1000" };
DynamicBaseSelectModel baseModel = new DynamicBaseSelectModel(args);
using (FrmBaseSelect frmSelect = new FrmBaseSelect(baseModel, this.ControlObj, this.gcDetail))
{
//if (frmSelect.SelectRowItem == null)
//{
// frmSelect = new FrmBaseSelect(baseModel, this.ControlObj, this.gcMain);
//}
frmSelect.Text = this.BillModelObj.TypeName;
frmSelect.SelectRowItem = rowItem;
bool isNextOne = false;
if (!string.IsNullOrEmpty(mRecordPrimaryField))
{
frmSelect.FpRows = table.Rows.Cast<DataRow>().Where(x => (rowItem[guidField] + "").Equals(x[guidField] + "")).ToArray();
if (frmSelect.FpRows != null && frmSelect.FpRows.Length > 0)
{
List<DataRow> rows = frmSelect.FpRows.ToList();
rows.Remove(rowItem);
frmSelect.FpRows = rows.ToArray();
}
if (table.Columns.Contains(mRecordPrimaryField))
{
frmSelect.FpOtherRows = table.Rows.Cast<DataRow>().Where(x => !(rowItem[guidField] + "").Equals(x[guidField] + "") && !string.IsNullOrEmpty(x[mRecordPrimaryField] + "")).ToArray();
}
}
if (frmSelect.ShowDialog() == DialogResult.OK)
{
if (frmSelect.SelectedRows != null && frmSelect.SelectedRows.Length > 0)
{
//if (frmSelect.isNextOne)
//{
// isNextOne = true;
//}
//else
//{
// isNextOne = false;
//}
// 增加标识列
if (!table.Columns.Contains(frmSelect.RecordPrimaryField))
{
this.mRecordPrimaryField = frmSelect.RecordPrimaryField;
table.Columns.Add(this.mRecordPrimaryField, typeof(String));
}
foreach (DataRow item in frmSelect.SelectedRows)
{
DataRow newRow = table.NewRow();
newRow.ItemArray = rowItem.ItemArray;
newRow[guidField] = rowItem[guidField];
DataColumn IsIdentCol = newRow.Table.Columns.Cast<DataColumn>().FirstOrDefault(x => x.ColumnName == BaseImpl.GetResult(string.Format("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='{0}' AND COLUMNPROPERTY(OBJECT_ID('{0}'),COLUMN_NAME,'IsIdentity')=1", BillModelObj.DetailTable)) + "");
//自增长列分配按空值取
if (IsIdentCol != null)
{
if (IsIdentCol.DataType == typeof(Decimal) ||
IsIdentCol.DataType == typeof(Double) ||
IsIdentCol.DataType == typeof(Int16) ||
IsIdentCol.DataType == typeof(Int32) ||
IsIdentCol.DataType == typeof(Int64))
{
newRow[IsIdentCol.ColumnName] = 0;
}
}
foreach (DataColumn col in item.Table.Columns)
{
if (table.Columns.Contains(col.ColumnName))
{
//newRow[col.ColumnName] = item[col.ColumnName];
newRow[col.ColumnName] = item[col.ColumnName];
GridColumn column = this.gcDetail.GridView.Columns[col.ColumnName];
if (column != null)
{
GridColumnModel model = column.Tag as GridColumnModel;
if (!string.IsNullOrEmpty(model.UnionFields))
{
this.SetUnionValue(model, rowItem[column.FieldName] + "", newRow);
}
SetCalcValue(model, rowItem[column.FieldName] + "", newRow);
}
}
}
newRow[frmSelect.AmountField] = item[frmSelect.AmountField];
newRow[frmSelect.RecordPrimaryField] = item[frmSelect.RecordPrimaryField];
table.Rows.Add(newRow);
}
NumberMc = frmSelect.AmountField;
//double syAmount = frmSelect.GetSyAmount();
//if (syAmount > 0)
//{
// rowItem[frmSelect.AmountField] = frmSelect.GetSyAmount();
//}
//else
//{
// table.Rows.Remove(rowItem);
//}
table.Rows.Remove(rowItem);
// 重排顺序
table.OrderBy(this.BillModelObj.DetailOrderField);
this.gcDetail.GridView.UpdateCurrentRow();
this.gcDetail.GridView.ShowEditor();
}
}
if (frmSelect.isNextOne)
{
int SourceRowIndex = this.gcDetail.GridView.GetFocusedDataSourceRowIndex();
DataRow[] a = table.Rows.Cast<DataRow>().Where(x => string.IsNullOrEmpty(x[guidField].ToString())).ToArray();
if (a.Length != 0)
{
this.gcDetail.GridView.FocusedRowHandle = SourceRowIndex;
OnBtnFPOldClick(null, null);
}
else
{
MessageUtil.Show("全部分配完毕");
// frmSelect.SelectRowItem = null;
}
}
}
}
catch (Exception ex)
{
MessageUtil.Show(ex);
}
}
/// <summary>
/// <para>说明:计算列关联字段</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-12-18 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="model">The model.</param>
/// <param name="fieldValue">The field value.</param>
protected virtual void SetUnionValue(GridColumnModel model, string fieldValue, DataRow rowItem)
{
DataTable table = this.gcDetail.gridControl.DataSourceTable();
//DataRow rowItem = this.gridView.GetFocusedDataRow();
string unionValues = model.UnionValues;
if (rowItem != null && model != null)
{
unionValues = ReplaceHelper.ReplaceRowParam(rowItem, unionValues.Replace("{" + model.FieldName + "}", fieldValue));
if (this.ControlObj != null)
{
unionValues = ControlObj.ReplaceParentControlValue(unionValues);
}
try
{
string[] fields = model.UnionFields.Trim(',').Split(',');
DataRow rowResult = BaseImpl.GetDataRowResult(unionValues);
if (rowResult != null)
{
for (int i = 0; i < fields.Length; i++)
{
string field = fields[i];
string value = rowResult.Table.Columns.Contains(field) ? rowResult[field] + "" : null;
rowItem[field] = value;
}
}
else
{
// 设置为空
for (int i = 0; i < fields.Length; i++)
{
string field = fields[i];
rowItem[field] = DBNull.Value;
}
}
}
catch (Exception ex)
{
LogHelper.Instance.WriteError(ex);
LogUtil.WriteError("计算列关联字段--错误-->" + unionValues, ex);
}
}
}
/// <summary>
/// <para>说明:计算列计算公式</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-12-18 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="model">The model.</param>
/// <param name="fieldValue">The field value.</param>
protected virtual void SetCalcValue(GridColumnModel model, string fieldValue, DataRow rowItem)
{
try
{
DataTable table = this.gcDetail.gridControl.DataSourceTable();
if (rowItem != null && model != null)
{
List<GridColumnModel> calcModels = this.gcDetail.ObjmControlList.FindAll(x => !string.IsNullOrEmpty(x.CalcExpr)).OrderBy(y => y.CalcOrder).ToList();
foreach (GridColumnModel gridModel in calcModels)
{
// 计算顺序小于当前控件则不计算
if (gridModel.CalcOrder < model.CalcOrder) continue;
if (!gridModel.FieldName.Equals(model.FieldName, StringComparison.OrdinalIgnoreCase))
{
bool isTruncate = false;
string calcExpr = gridModel.CalcExpr;
if (calcExpr.StartsWith("@truncate:"))
{
calcExpr = calcExpr.Substring(10);
isTruncate = true;
}
try
{
if (this.ControlObj != null)
calcExpr = ControlObj.ReplaceParentControlValue(calcExpr);
calcExpr = ReplaceHelper.ReplaceRowParam(rowItem, calcExpr);
//EvalHelper.Eval2(ReplaceHelper.ReplaceEvalCond(calcExpr)) + ""
string result = EvalHelper.Eval2(ReplaceHelper.ReplaceEvalCond(calcExpr)) + "";
if (isTruncate)
{
result += result.Contains(".") ? "0000000000" : ".0000000000";
rowItem[gridModel.FieldName] = result.Substring(0, result.IndexOf(".")) + result.Substring(result.IndexOf("."), model.Decimals + 1);
//this.gridView.SetRowCellValue(this.gridView.FocusedRowHandle, this.gridView.Columns[gridModel.FieldName], result.Substring(0, result.IndexOf(".")) + result.Substring(result.IndexOf("."), model.Decimals + 1));
}
else
{
try
{
double d = 0;
if (!string.IsNullOrEmpty(result) &&
!"NaN".Equals(result, StringComparison.OrdinalIgnoreCase) &&
!"非数字".Equals(result, StringComparison.OrdinalIgnoreCase) &&
!"undefined".Equals(result, StringComparison.OrdinalIgnoreCase) &&
result != "∞" && result != "-∞" &&
!"正无穷大".Equals(result, StringComparison.OrdinalIgnoreCase) &&
!"负无穷大".Equals(result, StringComparison.OrdinalIgnoreCase) &&
double.TryParse(result, out d))
{
if (string.IsNullOrEmpty(gridModel.DataFormat))
{
result = Math.Round(Convert.ToDouble(d), model.Decimals, MidpointRounding.AwayFromZero) + "";
}
else
{
//计算后先执行保存小数位数
result = string.Format("{0:" + gridModel.DataFormat + "}", Convert.ToDecimal(result));
}
if (model.FieldType == 7 && result.Contains('%'))
{
result = (double.Parse(result.Replace("%", "")) * 0.01).ToString();
}
rowItem[gridModel.FieldName] = result;
// 判断计算列有无关联值
GridColumnModel UnionModel = calcModels.FirstOrDefault(x => x.FieldName == gridModel.FieldName);
if (!string.IsNullOrEmpty(UnionModel.UnionFields))
{
this.SetUnionValue(UnionModel, rowItem[gridModel.FieldName] + "", rowItem);
}
//this.gridView.SetRowCellValue(this.g