diff --git a/插件库/Lskj.Control/GridControlEx.cs b/插件库/Lskj.Control/GridControlEx.cs index 4324806..5f6d718 100644 --- a/插件库/Lskj.Control/GridControlEx.cs +++ b/插件库/Lskj.Control/GridControlEx.cs @@ -407,6 +407,7 @@ namespace Lskj.Control this.gridView.CustomDrawGroupRow += new RowObjectCustomDrawEventHandler(OnGridCustomDrawGroupRow); this.gridView.KeyDown += new KeyEventHandler(OnGridViewKeyDown); this.gridView.DoubleClick += new EventHandler(OnGridViewDoubleClick); + this.gridView.Click += new EventHandler(OnGridViewClick); this.gridView.CellMerge += new CellMergeEventHandler(OnGridViewCellMerge); this.gridView.CustomSummaryCalculate += new CustomSummaryEventHandler(OnGridViewSummaryCalculate); this.gridView.OptionsNavigation.EnterMoveNextColumn = true; @@ -971,8 +972,8 @@ namespace Lskj.Control break; case ControlType.LabGridPopupValue: case ControlType.LabGridPopupText: - //case ControlType.LabGridPopupMutilValue: - //case ControlType.LabGridPopupMutilText: + //case ControlType.LabGridPopupMutilValue: + //case ControlType.LabGridPopupMutilText: InitGridPopup(column, model); break; default: @@ -4237,7 +4238,7 @@ namespace Lskj.Control GridColumnModel model = frmGridSelectPopup.Tag as GridColumnModel; string sql = ReplaceHelper.ReplaceRowParam(this.GridView.GetFocusedDataRow(), model.SqlSource); - frmGridSelectPopup.InitNew(sql, btnEdit.Text, btnEdit.EditValue+""); + frmGridSelectPopup.InitNew(sql, btnEdit.Text, btnEdit.EditValue + ""); DialogResult result = frmGridSelectPopup.ShowDialog(); if (result == DialogResult.OK) { @@ -4266,7 +4267,6 @@ namespace Lskj.Control hyperLinkEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor; // 设置超链接点击事件 hyperLinkEdit.Click += HyperLinkEdit_Click; - this.gridView.OptionsBehavior.EditorShowMode = EditorShowMode.MouseDown; hyperLinkEdit.SingleClick = true; hyperLinkEdit.Tag = model; @@ -4297,7 +4297,6 @@ namespace Lskj.Control hyperLinkEdit.SingleClick = true; hyperLinkEdit.Tag = model; - this.gridView.OptionsBehavior.EditorShowMode = EditorShowMode.MouseDown; // 注册编辑器 gridControl.RepositoryItems.Add(hyperLinkEdit); gridColumn.OptionsColumn.ReadOnly = true; @@ -5314,7 +5313,7 @@ namespace Lskj.Control for (int i = 0; i < _pasteRowCount; i++) { string[] _arrayStr2 = _arrayRowStr[i].Split('\t'); - if (IgnoreTab) + if (IgnoreTab) { _arrayStr2 = new string[] { _arrayRowStr[i] }; } @@ -7008,6 +7007,40 @@ namespace Lskj.Control } } /// + /// 表格单击逻辑 + /// + /// + /// + protected void OnGridViewClick(object sender, EventArgs e) + { + try + { + Point gcPoint = gridControl.PointToScreen(gridControl.Location); + Point pt = new Point(MousePosition.X - gcPoint.X, MousePosition.Y - gcPoint.Y); + GridHitInfo _hitInfo = GridView.CalcHitInfo(pt); + if (_hitInfo != null && _hitInfo.InRowCell && _hitInfo.Column.ColumnEdit is RepositoryItemHyperLinkEdit hyperLinkEdit) + { + if (_hitInfo.Column.Tag is GridColumnModel gridColumnModel) + { + if (gridColumnModel.FieldType == ControlType.LabHyperlink) + { + HyperLinkEdit_Click(hyperLinkEdit, null); + } + else if (gridColumnModel.FieldType == ControlType.LabRightlink) + { + + } + } + } + + } + catch (Exception ex) + { + string Message = ErrorMessage.PromptErrorMessage(ex, Model.ModuleCode); + MessageUtil.Show(Message, ex.Message); + } + } + /// /// 说明: /// 创建人:龚宇超 /// 创建日期:2019-06-10 @@ -8790,4 +8823,30 @@ namespace Lskj.Control { // 只处理列名可解析成日期的列 if (!DateTime.TryParse(col.FieldName, out _)) - \ No newline at end of file + continue; + + // 取 “Sum” 合计 + var sumItem = col.Summary + .OfType() + .FirstOrDefault(s => s.SummaryType == SummaryItemType.Sum); + + bool needRed = false; + + if (sumItem?.SummaryValue != null && + decimal.TryParse(sumItem.SummaryValue.ToString(), out var colSum) && + jhrowitem.Table.Columns.Contains(col.FieldName) && + decimal.TryParse(jhrowitem[col.FieldName].ToString(), out var planVal)) + { + needRed = (colSum != planVal); + } + + // 只改表头文字颜色 + col.AppearanceHeader.ForeColor = needRed ? Color.Red : Color.Black; + col.AppearanceHeader.Options.UseForeColor = true; + } + // 立刻刷新表头 + gridView.Invalidate(); + } + + } +} \ No newline at end of file