diff --git a/插件库/Lskj.Control/BandedGridControlEx.cs b/插件库/Lskj.Control/BandedGridControlEx.cs
index c1636db..20da0fd 100644
--- a/插件库/Lskj.Control/BandedGridControlEx.cs
+++ b/插件库/Lskj.Control/BandedGridControlEx.cs
@@ -254,13 +254,14 @@ namespace Lskj.Control
e.Appearance.ForeColor = ColorTranslator.FromHtml(model.ForceColor);
}
- FontStyle fontStyle = new FontStyle();
- if (model.IsBold) fontStyle = fontStyle | FontStyle.Bold;
- if (model.IsItalic) fontStyle = fontStyle | FontStyle.Italic;
- if (model.IsStrickOut) fontStyle = fontStyle | FontStyle.Strikeout;
- if (model.IsUnderLine) fontStyle = fontStyle | FontStyle.Underline;
+ FontStyle fontStyle = FontStyle.Regular;
- e.Appearance.Font = new Font(e.Appearance.Font, fontStyle);
+ if (model.IsBold) fontStyle |= FontStyle.Bold;
+ if (model.IsItalic) fontStyle |= FontStyle.Italic;
+ if (model.IsStrickOut) fontStyle |= FontStyle.Strikeout;
+ if (model.IsUnderLine) fontStyle |= FontStyle.Underline;
+
+ e.Appearance.FontStyleDelta = fontStyle;
}
}
catch (Exception)
@@ -355,13 +356,14 @@ namespace Lskj.Control
e.Appearance.ForeColor = ColorTranslator.FromHtml(model.ForceColor);
}
- FontStyle fontStyle = new FontStyle();
+ FontStyle fontStyle = FontStyle.Regular;
+
if (model.IsBold) fontStyle |= FontStyle.Bold;
if (model.IsItalic) fontStyle |= FontStyle.Italic;
if (model.IsStrickOut) fontStyle |= FontStyle.Strikeout;
if (model.IsUnderLine) fontStyle |= FontStyle.Underline;
- e.Appearance.Font = new Font(e.Appearance.Font, fontStyle);
+ e.Appearance.FontStyleDelta = fontStyle;
}
}
catch (Exception ex)
@@ -987,13 +989,14 @@ namespace Lskj.Control
e.Appearance.ForeColor = ColorTranslator.FromHtml(model.ForceColor);
}
- FontStyle fontStyle = new FontStyle();
- if (model.IsBold) fontStyle = fontStyle | FontStyle.Bold;
- if (model.IsItalic) fontStyle = fontStyle | FontStyle.Italic;
- if (model.IsStrickOut) fontStyle = fontStyle | FontStyle.Strikeout;
- if (model.IsUnderLine) fontStyle = fontStyle | FontStyle.Underline;
+ FontStyle fontStyle = FontStyle.Regular;
- e.Appearance.Font = new Font(e.Appearance.Font, fontStyle);
+ if (model.IsBold) fontStyle |= FontStyle.Bold;
+ if (model.IsItalic) fontStyle |= FontStyle.Italic;
+ if (model.IsStrickOut) fontStyle |= FontStyle.Strikeout;
+ if (model.IsUnderLine) fontStyle |= FontStyle.Underline;
+
+ e.Appearance.FontStyleDelta = fontStyle;
}
}
catch (Exception)
diff --git a/插件库/Lskj.Control/BrowserSetting/BsLifeSpanHandler.cs b/插件库/Lskj.Control/BrowserSetting/BsLifeSpanHandler.cs
index 159752e..8f6de7c 100644
--- a/插件库/Lskj.Control/BrowserSetting/BsLifeSpanHandler.cs
+++ b/插件库/Lskj.Control/BrowserSetting/BsLifeSpanHandler.cs
@@ -17,13 +17,4 @@ namespace Lskj.Control.BrowserSetting
}
protected override void OnAfterCreated(Xilium.CefGlue.CefBrowser browser)
{
- base.OnAfterCreated(browser);
- BsClient.Created(browser);
- }
- protected override void OnBeforeClose(CefBrowser browser)
- {
- base.OnBeforeClose(browser);
- }
-
- }
-}
\ No newline at end of file
+ base.OnAfterCreated(browser
\ No newline at end of file
diff --git a/插件库/Lskj.Control/BrowserSetting/BsRequestHandler.cs b/插件库/Lskj.Control/BrowserSetting/BsRequestHandler.cs
index 9d20921..de7ba43 100644
--- a/插件库/Lskj.Control/BrowserSetting/BsRequestHandler.cs
+++ b/插件库/Lskj.Control/BrowserSetting/BsRequestHandler.cs
@@ -6,4 +6,71 @@ using Xilium.CefGlue;
namespace Lskj.Control.BrowserSetting
{
- public class BsRequestHandle
\ No newline at end of file
+ public class BsRequestHandler : CefRequestHandler
+ {
+ private readonly CefResourceRequestHandler externalProtocolResourceRequestHandler = new BsExternalProtocolResourceRequestHandler();
+
+ protected override CefResourceRequestHandler GetResourceRequestHandler(CefBrowser browser, CefFrame frame, CefRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
+ {
+ if (BsExternalProtocolHandler.IsPrintProtocol(request.Url))
+ return externalProtocolResourceRequestHandler;
+
+ return null;
+ }
+
+ protected override bool OnBeforeBrowse(CefBrowser browser, CefFrame frame, CefRequest request, bool userGesture, bool isRedirect)
+ {
+ string url = request.Url;
+
+ if (BsExternalProtocolHandler.IsPrintProtocol(url))
+ {
+ if (frame == null || frame.IsMain)
+ {
+ BsExternalProtocolHandler.TryHandle(url);
+ return true;
+ }
+
+ return false;
+ }
+
+ return base.OnBeforeBrowse(browser, frame, request, userGesture, isRedirect);
+ }
+
+ protected override bool OnOpenUrlFromTab(CefBrowser browser, CefFrame frame, string targetUrl, CefWindowOpenDisposition targetDisposition, bool userGesture)
+ {
+ if (BsExternalProtocolHandler.TryHandle(targetUrl))
+ return true;
+
+ return base.OnOpenUrlFromTab(browser, frame, targetUrl, targetDisposition, userGesture);
+ }
+
+ protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
+ {
+ browser.Reload();
+ }
+ }
+
+ internal static class BsExternalProtocolHandler
+ {
+ private const string PrintProtocol = "lskjprint:";
+
+ public static bool IsPrintProtocol(string url)
+ {
+ return !string.IsNullOrEmpty(url) && url.StartsWith(PrintProtocol, StringComparison.OrdinalIgnoreCase);
+ }
+
+ public static bool TryHandle(string url)
+ {
+ if (!IsPrintProtocol(url))
+ return false;
+
+ try
+ {
+ var processStartInfo = new System.Diagnostics.ProcessStartInfo(url)
+ {
+ UseShellExecute = true
+ };
+ System.Diagnostics.Process.Start(processStartInfo);
+ }
+ catch (Exception ex)
+
\ No newline at end of file
diff --git a/插件库/Lskj.Control/BrowserSetting2/BsLifeSpanHandler.cs b/插件库/Lskj.Control/BrowserSetting2/BsLifeSpanHandler.cs
index 873174c..e73cd34 100644
--- a/插件库/Lskj.Control/BrowserSetting2/BsLifeSpanHandler.cs
+++ b/插件库/Lskj.Control/BrowserSetting2/BsLifeSpanHandler.cs
@@ -25,5 +25,25 @@ namespace Lskj.Control.BrowserSetting2
base.OnBeforeClose(browser);
}
+ protected override bool OnBeforePopup(
+ CefBrowser browser,
+ CefFrame frame,
+ string targetUrl,
+ string targetFrameName,
+ CefWindowOpenDisposition targetDisposition,
+ bool userGesture,
+ CefPopupFeatures popupFeatures,
+ CefWindowInfo windowInfo,
+ ref CefClient client,
+ CefBrowserSettings settings,
+ ref CefDictionaryValue extraInfo,
+ ref bool noJavascriptAccess)
+ {
+ if (BsExternalProtocolHandler.TryHandle(targetUrl))
+ return true;
+
+ return base.OnBeforePopup(browser, frame, targetUrl, targetFrameName, targetDisposition,
+ userGesture, popupFeatures, windowInfo, ref client, settings, ref extraInfo, ref noJavascriptAccess);
+ }
}
-}
\ No newline at end of file
+}
diff --git a/插件库/Lskj.Control/BrowserSetting2/BsRequestHandler.cs b/插件库/Lskj.Control/BrowserSetting2/BsRequestHandler.cs
index 1c357d0..59889f6 100644
--- a/插件库/Lskj.Control/BrowserSetting2/BsRequestHandler.cs
+++ b/插件库/Lskj.Control/BrowserSetting2/BsRequestHandler.cs
@@ -2,4 +2,105 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
-us
\ No newline at end of file
+using Xilium.CefGlue;
+
+namespace Lskj.Control.BrowserSetting2
+{
+ public class BsRequestHandler : CefRequestHandler
+ {
+ private readonly CefResourceRequestHandler externalProtocolResourceRequestHandler = new BsExternalProtocolResourceRequestHandler();
+
+ protected override CefResourceRequestHandler GetResourceRequestHandler(CefBrowser browser, CefFrame frame, CefRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
+ {
+ if (BsExternalProtocolHandler.TryMatch(request.Url))
+ return externalProtocolResourceRequestHandler;
+
+ return null;
+ }
+
+ protected override bool OnBeforeBrowse(CefBrowser browser, CefFrame frame, CefRequest request, bool userGesture, bool isRedirect)
+ {
+ string url = request.Url;
+
+ if (BsExternalProtocolHandler.TryMatch(url))
+ {
+ if (frame == null || frame.IsMain)
+ {
+ BsExternalProtocolHandler.TryHandle(url);
+ return true;
+ }
+
+ return false;
+ }
+
+ return base.OnBeforeBrowse(browser, frame, request, userGesture, isRedirect);
+ }
+
+ protected override bool OnOpenUrlFromTab(CefBrowser browser, CefFrame frame, string targetUrl, CefWindowOpenDisposition targetDisposition, bool userGesture)
+ {
+ if (BsExternalProtocolHandler.TryHandle(targetUrl))
+ return true;
+
+ return base.OnOpenUrlFromTab(browser, frame, targetUrl, targetDisposition, userGesture);
+ }
+
+ protected override void OnRenderProcessTerminated(CefBrowser browser, CefTerminationStatus status)
+ {
+ browser.Reload();
+ }
+ }
+
+ internal static class BsExternalProtocolHandler
+ {
+ private const string PrintProtocol = "lskjprint:";
+
+ public static bool TryMatch(string url)
+ {
+ return !string.IsNullOrEmpty(url) && url.StartsWith(PrintProtocol, StringComparison.OrdinalIgnoreCase);
+ }
+
+ public static bool TryHandle(string url)
+ {
+ if (!TryMatch(url))
+ return false;
+
+ try
+ {
+ var processStartInfo = new System.Diagnostics.ProcessStartInfo(url)
+ {
+ UseShellExecute = true
+ };
+ System.Diagnostics.Process.Start(processStartInfo);
+ }
+ catch (Exception ex)
+ {
+ System.Windows.Forms.MessageBox.Show(
+ "打开打印程序失败:" + ex.Message,
+ "提示",
+ System.Windows.Forms.MessageBoxButtons.OK,
+ System.Windows.Forms.MessageBoxIcon.Warning);
+ }
+
+ return true;
+ }
+ }
+
+ internal sealed class BsExternalProtocolResourceRequestHandler : CefResourceRequestHandler
+ {
+ protected override CefCookieAccessFilter GetCookieAccessFilter(CefBrowser browser, CefFrame frame, CefRequest request)
+ {
+ return null;
+ }
+
+ protected override void OnProtocolExecution(CefBrowser browser, CefFrame frame, CefRequest request, ref bool allowOsExecution)
+ {
+ if (BsExternalProtocolHandler.TryMatch(request.Url))
+ {
+ allowOsExecution = true;
+ return;
+ }
+
+ base.OnProtocolExecution(browser, frame, request, ref allowOsExecution);
+ }
+ }
+}
diff --git a/插件库/Lskj.Control/FrmAnnouncement.Designer.cs b/插件库/Lskj.Control/FrmAnnouncement.Designer.cs
new file mode 100644
index 0000000..210833c
--- /dev/null
+++ b/插件库/Lskj.Control/FrmAnnouncement.Designer.cs
@@ -0,0 +1,39 @@
+
+namespace Lskj.Control
+{
+ partial class FrmAnnouncement
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.txtEdit = new DevExpress.XtraEditors.MemoEdit();
+ ((System.ComponentModel.ISupportInitialize)(this.txtEdit.Properties)).BeginInit();
+ this.SuspendLayout();
+ //
+ // txtEdit
+ //
+ this.txtEdit.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.txtEdit.Loca
\ No newline at end of file
diff --git a/插件库/Lskj.Control/FrmAnnouncement.cs b/插件库/Lskj.Control/FrmAnnouncement.cs
new file mode 100644
index 0000000..bdfec6b
--- /dev/null
+++ b/插件库/Lskj.Control/FrmAnnouncement.cs
@@ -0,0 +1,158 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using Lskj.Business.Impl;
+using Lskj.Core;
+using Lskj.Util;
+
+namespace Lskj.Control
+{
+ public partial class FrmAnnouncement : BaseForm
+ {
+ private const string AnnouncementSql = "select * from p_ErpProUpdateInfo where AnnouncementDisplay=1 order by updateDate desc";
+ private Panel bottomPanel;
+ private DevExpress.XtraEditors.SimpleButton btnConfirm;
+
+ public FrmAnnouncement()
+ {
+ InitializeComponent();
+ InitializeAnnouncementForm();
+ this.Load += FrmAnnouncement_Load;
+ this.Shown += FrmAnnouncement_Shown;
+ }
+
+ private void InitializeAnnouncementForm()
+ {
+ this.FormBorderStyle = FormBorderStyle.Sizable;
+ this.MaximizeBox = true;
+ this.MinimizeBox = true;
+ this.MinimumSize = new Size(500, 300);
+
+ this.txtEdit.ReadOnly = true;
+ this.txtEdit.Properties.ScrollBars = ScrollBars.Vertical;
+
+ bottomPanel = new Panel();
+ bottomPanel.Dock = DockStyle.Bottom;
+ bottomPanel.Height = 50;
+
+ btnConfirm = new DevExpress.XtraEditors.SimpleButton();
+ btnConfirm.Text = "ȷ";
+ btnConfirm.Size = new Size(90, 28);
+ btnConfirm.Click += BtnConfirm_Click;
+
+ bottomPanel.Controls.Add(btnConfirm);
+ bottomPanel.Resize += BottomPanel_Resize;
+ this.Controls.Add(bottomPanel);
+ bottomPanel.BringToFront();
+ CenterConfirmButton();
+ }
+
+ private void FrmAnnouncement_Load(object sender, EventArgs e)
+ {
+ try
+ {
+ DataTable table = SqlHelper.ExecuteDataTable(AnnouncementSql);
+ this.txtEdit.Text = BuildAnnouncementText(table);
+ this.txtEdit.SelectionStart = 0;
+ this.txtEdit.SelectionLength = 0;
+ }
+ catch (Exception ex)
+ {
+ string message = ErrorMessage.PromptErrorMessage(ex);
+ MessageUtil.Show(message, ex.Message);
+ LogHelper.Instance.WriteError(ex);
+ }
+ }
+
+ private void FrmAnnouncement_Shown(object sender, EventArgs e)
+ {
+ if (btnConfirm != null)
+ {
+ btnConfirm.Focus();
+ }
+ }
+
+ private void BottomPanel_Resize(object sender, EventArgs e)
+ {
+ CenterConfirmButton();
+ }
+
+ private void CenterConfirmButton()
+ {
+ if (bottomPanel == null || btnConfirm == null) return;
+
+ btnConfirm.Location = new Point(
+ (bottomPanel.ClientSize.Width - btnConfirm.Width) / 2,
+ (bottomPanel.ClientSize.Height - btnConfirm.Height) / 2);
+ }
+
+ private void BtnConfirm_Click(object sender, EventArgs e)
+ {
+ this.DialogResult = DialogResult.OK;
+ this.Close();
+ }
+
+ private string BuildAnnouncementText(DataTable table)
+ {
+ if (table == null || table.Rows.Count == 0) return string.Empty;
+
+ // ڷ飨SQLѰupdateDate descȻӴС
+ var dateGroups = new List>>();
+ DateTime? currentDate = null;
+ List currentGroup = null;
+
+ foreach (DataRow row in table.Rows)
+ {
+ DateTime updateDate;
+ if (!DateTime.TryParse(row["updateDate"] + "", out updateDate))
+ continue;
+
+ DateTime dateOnly = updateDate.Date;
+ string content = row["verDesp"] + "";
+
+ if (currentDate != dateOnly)
+ {
+ currentDate = dateOnly;
+ currentGroup = new List();
+ dateGroups.Add(new KeyValuePair>(dateOnly, currentGroup));
+ }
+
+ currentGroup.Add(content);
+ }
+
+ StringBuilder text = new StringBuilder();
+ foreach (var group in dateGroups)
+ {
+ if (text.Length > 0) text.AppendLine();
+
+ text.Append("ʱ䣺");
+ text.AppendLine(group.Key.ToString("yyyy-MM-dd"));
+
+ for (int i = 0; i < group.Value.Count; i++)
+ {
+ text.AppendLine((i + 1) + ". " + group.Value[i]);
+ }
+ }
+
+ return text.ToString();
+ }
+
+ private string FormatUpdateDate(object value)
+ {
+ if (value == null || value == DBNull.Value) return string.Empty;
+
+ DateTime updateDate;
+ if (DateTime.TryParse(value + "", out updateDate))
+ {
+ return updateDate.ToString("yyyy-MM-dd");
+ }
+
+ return value + "";
+ }
+ }
+}
diff --git a/插件库/Lskj.Control/FrmAnnouncement.resx b/插件库/Lskj.Control/FrmAnnouncement.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/插件库/Lskj.Control/FrmAnnouncement.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/插件库/Lskj.Control/FrmExport.cs b/插件库/Lskj.Control/FrmExport.cs
index 7bdc26d..741ecc1 100644
--- a/插件库/Lskj.Control/FrmExport.cs
+++ b/插件库/Lskj.Control/FrmExport.cs
@@ -133,7 +133,7 @@ namespace Lskj.Control
hasBoolean = true;
}
GridColumnModel model = col.Tag as GridColumnModel;
- if (model != null && (model.FieldType == ControlType.LabMultiSelectValue || model.FieldType == ControlType.LabMultiSelectValueNew || model.FieldType == ControlType.LabTreeLookValue || model.FieldType == ControlType.LabMultiSelectValueParam || model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)))
+ if (model != null && (model.FieldType == ControlType.LabMultiSelectValue || model.FieldType == ControlType.LabMultiSelectValueNew || model.FieldType == ControlType.LabTreeLookValue || model.FieldType == ControlType.LabMultiSelectValueParam || model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText) || model.FieldType == ControlType.LabModuleAddRowsID))
{
StoreValueList.Add(col.FieldName);
hasBoolean = true;
@@ -455,7 +455,7 @@ namespace Lskj.Control
}
GridColumnModel model = col.Tag as GridColumnModel;
- if (model != null && (model.FieldType == ControlType.LabMultiSelectValue || model.FieldType == ControlType.LabMultiSelectValueNew || model.FieldType == ControlType.LabTreeLookValue || model.FieldType == ControlType.LabMultiSelectValueParam || model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)))
+ if (model != null && (model.FieldType == ControlType.LabMultiSelectValue || model.FieldType == ControlType.LabMultiSelectValueNew || model.FieldType == ControlType.LabTreeLookValue || model.FieldType == ControlType.LabMultiSelectValueParam || model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText) || model.FieldType == ControlType.LabModuleAddRowsID))
{
StoreValueList.Add(col.FieldName);
hasBoolean = true;
@@ -992,10 +992,10 @@ namespace Lskj.Control
}
}
- else if (model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText))
+ else if (model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText) || model.FieldType == ControlType.LabModuleAddRowsID)
{
string sqlValue = model.SqlSource;
- if ((model.IsRadio && !string.IsNullOrWhiteSpace(model.addModuleld)) || model.FieldType == ControlType.LabSelectReturnIdNew)
+ if ((model.IsRadio && !string.IsNullOrWhiteSpace(model.addModuleld)) || model.FieldType == ControlType.LabSelectReturnIdNew || model.FieldType == ControlType.LabModuleAddRowsID)
{
//单选模式数据源为模块sql 新版模块选中返回id固定位模块sql
DataRow modelRow = Business.Impl.MainImpl.GetSystemdllTab(model.addModuleld);
diff --git a/插件库/Lskj.Control/GridControlEx.cs b/插件库/Lskj.Control/GridControlEx.cs
index 809f89b..9da89a7 100644
--- a/插件库/Lskj.Control/GridControlEx.cs
+++ b/插件库/Lskj.Control/GridControlEx.cs
@@ -29,7 +29,6 @@ using Lskj.Util;
using Lskj.Control.Properties;
using Lskj.Model;
using Lskj.Data;
-using System.Diagnostics;
using DevExpress.XtraEditors;
using System.Data.SqlClient;
using System.IO;
@@ -54,6 +53,7 @@ using System.Collections;
using Newtonsoft.Json;
using System.Net;
using System.Data.Common;
+using Lskj.Control.SpecialDate;
namespace Lskj.Control
{
@@ -1053,6 +1053,9 @@ namespace Lskj.Control
case ControlType.LabShortDate:
InitDateTimeEdit(column, model.FieldType);
break;
+ case ControlType.LabDateHalfDay:
+ InitSpecialDate(column, model);
+ break;
case ControlType.LabTime:
case ControlType.LabShortTime:
InitTimeEdit(column, model.FieldType);
@@ -1176,6 +1179,9 @@ namespace Lskj.Control
InitComboxEdit(column, model);
}
}
+
+
+
///
/// 说明:设置列格式化
/// 创建人:龚宇超
@@ -3773,6 +3779,125 @@ namespace Lskj.Control
gridControl.RepositoryItems.Add(dateEdit);
gridColumn.ColumnEdit = dateEdit;
}
+
+
+
+
+ ///
+ /// 初始化表格专用日期半天选择列,保存值格式为 yyyy-MM-dd 上午/下午。
+ ///
+ private void InitSpecialDate(GridColumn gridColumn, GridColumnModel model)
+ {
+ SpecialDatePopup specialDatePopup = new SpecialDatePopup();
+ specialDatePopup.Dock = DockStyle.Fill;
+
+ PopupContainerControl popupControl = new PopupContainerControl();
+ popupControl.Controls.Add(specialDatePopup);
+ popupControl.Size = specialDatePopup.Size;
+ // 通过 PopupControl.Tag 保存弹出层实例,QueryPopUp 时可取回并同步当前单元格值。
+ popupControl.Tag = specialDatePopup;
+
+ RepositoryItemPopupContainerEdit dateEdit = new RepositoryItemPopupContainerEdit();
+ dateEdit.NullText = "";
+ dateEdit.Buttons.Clear();
+ dateEdit.Buttons.Add(new EditorButton(ButtonPredefines.Combo));
+ // 允许手工修改文本,同时保留下拉选择。
+ //dateEdit.TextEditStyle = TextEditStyles.Standard;
+ // 只能下拉选择
+ dateEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
+ dateEdit.PopupControl = popupControl;
+ // 下拉打开前,把当前单元格值回填到弹出层。
+ dateEdit.QueryPopUp += OnSpecialDateQueryPopUp;
+ dateEdit.Tag = model;
+
+ // 弹出层只抛出按钮动作,真正写入表格单元格由 GridControlEx 统一处理。
+ specialDatePopup.ConfirmClick += OnSpecialDateConfirmClick;
+ specialDatePopup.ClearClick += OnSpecialDateClearClick;
+ specialDatePopup.CancelClick += OnSpecialDateCancelClick;
+
+ gridControl.RepositoryItems.Add(dateEdit);
+ gridColumn.ColumnEdit = dateEdit;
+ }
+
+ ///
+ /// 下拉框弹出前,同步当前编辑器和当前单元格值到 SpecialDatePopup。
+ ///
+ private void OnSpecialDateQueryPopUp(object sender, CancelEventArgs e)
+ {
+ try
+ {
+ PopupContainerEdit popupEdit = sender as PopupContainerEdit;
+ if (popupEdit == null) return;
+
+ SpecialDatePopup specialDatePopup = popupEdit.Properties.PopupControl.Tag as SpecialDatePopup;
+ if (specialDatePopup == null) return;
+
+ popupEdit.Properties.PopupControl.Size = specialDatePopup.Size;
+ // 记录本次正在编辑的 PopupContainerEdit,确定/清空/取消时需要回写或关闭它。
+ specialDatePopup.OwnerEdit = popupEdit;
+ specialDatePopup.SetValue(popupEdit.EditValue + "");
+ }
+ catch (Exception ex)
+ {
+ string Message = ErrorMessage.PromptErrorMessage(ex, Model.ModuleCode);
+ MessageUtil.Show(Message, ex.Message);
+ }
+ }
+
+ ///
+ /// 用户点击确定,把弹出层选择的日期和上午/下午写回当前单元格。
+ ///
+ private void OnSpecialDateConfirmClick(object sender, EventArgs e)
+ {
+ SpecialDatePopup specialDatePopup = sender as SpecialDatePopup;
+ if (specialDatePopup == null) return;
+ SpecialDateSetEditValue(sender, specialDatePopup.SelectedValue);
+ }
+
+ ///
+ /// 用户点击清除,清空当前单元格值。
+ ///
+ private void OnSpecialDateClearClick(object sender, EventArgs e)
+ {
+ SpecialDateSetEditValue(sender, string.Empty);
+ }
+
+ ///
+ /// 用户点击取消,只关闭下拉框,不修改当前单元格值。
+ ///
+ private void OnSpecialDateCancelClick(object sender, EventArgs e)
+ {
+ PopupContainerEdit popupEdit = GetSpecialDateOwnerEdit(sender);
+ if (popupEdit != null)
+ {
+ popupEdit.ClosePopup();
+ }
+ }
+
+ ///
+ /// 统一设置当前单元格值,并提交编辑器,让 GridView 后续保存流程能取到新值。
+ ///
+ private void SpecialDateSetEditValue(object sender, string value)
+ {
+ PopupContainerEdit popupEdit = GetSpecialDateOwnerEdit(sender);
+ if (popupEdit == null) return;
+
+ popupEdit.EditValue = value;
+ popupEdit.ClosePopup();
+ this.gridView.PostEditor();
+ }
+
+ ///
+ /// 从弹出层取回本次正在编辑的 PopupContainerEdit。
+ ///
+ private PopupContainerEdit GetSpecialDateOwnerEdit(object sender)
+ {
+ SpecialDatePopup specialDatePopup = sender as SpecialDatePopup;
+ return specialDatePopup == null ? null : specialDatePopup.OwnerEdit;
+ }
+
+
+
///
/// 说明:创建Time控件
/// 创建人:龚宇超
@@ -5032,7 +5157,8 @@ namespace Lskj.Control
btnEdit.SeparatorChar = ',';
btnEdit.ValueMember = model.FieldType == ControlType.LabSelectReturnIdNew ? model.ValueMember : model.TextMember;
- if (model.ModuleFrameDisplayText)
+ //model.ModuleFrameDisplayText 2026-5-23 丁哥说不需要这个字段
+ if (model.FieldType == ControlType.LabSelectReturnIdNew)
{
DataTable dataTable = MainImpl.GetDataTableResult(modelLookUp.SysModel.MenuSql);
btnEdit.DataSource = dataTable;
@@ -5325,10 +5451,10 @@ namespace Lskj.Control
public virtual void SetGridRowColors(DataTable table)
{
this.GridRowColorsTable = table;
+
if (table != null && table.Rows.Count > 0)
{
DataRow rowItem = table.Select("1=1").FirstOrDefault(x => (x["condition"] + "").Contains("COLUMN_"));
-
if (rowItem != null)
{
this.gridView.RowCellStyle -= new RowCellStyleEventHandler(OnGridViewRowCellStyle);
@@ -6361,15 +6487,17 @@ namespace Lskj.Control
e.Appearance.ForeColor = ColorTranslator.FromHtml(model.ForceColor);
}
}
-
- FontStyle fontStyle = new FontStyle();
- if (model.IsBold) fontStyle = fontStyle | FontStyle.Bold;
- if (model.IsItalic) fontStyle = fontStyle | FontStyle.Italic;
- if (model.IsStrickOut) fontStyle = fontStyle | FontStyle.Strikeout;
- if (model.IsUnderLine) fontStyle = fontStyle | FontStyle.Underline;
- e.Appearance.Font = new Font(e.Appearance.Font, fontStyle);
+ FontStyle fontStyle = FontStyle.Regular;
+
+ if (model.IsBold) fontStyle |= FontStyle.Bold;
+ if (model.IsItalic) fontStyle |= FontStyle.Italic;
+ if (model.IsStrickOut) fontStyle |= FontStyle.Strikeout;
+ if (model.IsUnderLine) fontStyle |= FontStyle.Underline;
+
+ e.Appearance.FontStyleDelta = fontStyle;
+
}
}
catch (Exception)
@@ -6413,13 +6541,14 @@ namespace Lskj.Control
e.Appearance.ForeColor = ColorTranslator.FromHtml(model.ForceColor);
}
- FontStyle fontStyle = new FontStyle();
- if (model.IsBold) fontStyle = fontStyle | FontStyle.Bold;
- if (model.IsItalic) fontStyle = fontStyle | FontStyle.Italic;
- if (model.IsStrickOut) fontStyle = fontStyle | FontStyle.Strikeout;
- if (model.IsUnderLine) fontStyle = fontStyle | FontStyle.Underline;
+ FontStyle fontStyle = FontStyle.Regular;
- e.Appearance.Font = new Font(e.Appearance.Font, fontStyle);
+ if (model.IsBold) fontStyle |= FontStyle.Bold;
+ if (model.IsItalic) fontStyle |= FontStyle.Italic;
+ if (model.IsStrickOut) fontStyle |= FontStyle.Strikeout;
+ if (model.IsUnderLine) fontStyle |= FontStyle.Underline;
+
+ e.Appearance.FontStyleDelta = fontStyle;
}
}
catch (Exception)
@@ -6480,7 +6609,6 @@ namespace Lskj.Control
// mergedRowHandle.Add(item.RowHandle);
// }
//}
-
if (gridView.OptionsSelection.MultiSelect == true && gridView.OptionsSelection.MultiSelectMode == GridMultiSelectMode.CheckBoxRowSelect)
{
int[] selectRows = gridView.GetSelectedRows();
@@ -6552,13 +6680,14 @@ namespace Lskj.Control
e.Appearance.ForeColor = ColorTranslator.FromHtml(model.ForceColor);
}
- FontStyle fontStyle = new FontStyle();
- if (model.IsBold) fontStyle = fontStyle | FontStyle.Bold;
- if (model.IsItalic) fontStyle = fontStyle | FontStyle.Italic;
- if (model.IsStrickOut) fontStyle = fontStyle | FontStyle.Strikeout;
- if (model.IsUnderLine) fontStyle = fontStyle | FontStyle.Underline;
+ FontStyle fontStyle = FontStyle.Regular;
- e.Appearance.Font = new Font(e.Appearance.Font, fontStyle);
+ if (model.IsBold) fontStyle |= FontStyle.Bold;
+ if (model.IsItalic) fontStyle |= FontStyle.Italic;
+ if (model.IsStrickOut) fontStyle |= FontStyle.Strikeout;
+ if (model.IsUnderLine) fontStyle |= FontStyle.Underline;
+
+ e.Appearance.FontStyleDelta = fontStyle;
}
}
catch (Exception)
@@ -6584,7 +6713,7 @@ namespace Lskj.Control
string PromptText = string.Empty;
// 判断单元格值是否为 null 或空
- if (PromptMessage.TryGetValue(e.Column.FieldName, out PromptText) && (e.CellValue == null || string.IsNullOrEmpty(e.CellValue.ToString())))
+ if ((e.CellValue == null || string.IsNullOrEmpty(e.CellValue.ToString()))&&PromptMessage.TryGetValue(e.Column.FieldName, out PromptText))
{
// 绘制默认单元格背景
e.DefaultDraw();
@@ -9066,6 +9195,7 @@ namespace Lskj.Control
foreach (GridColumn item in gc)
{
GridColumnModel model = item.Tag as GridColumnModel;
+ if (model == null) continue;
item.OptionsColumn.AllowEdit = false;
item.OptionsColumn.ReadOnly = !item.OptionsColumn.AllowEdit;
diff --git a/插件库/Lskj.Control/LabelDateHalfDayEdit.Designer.cs b/插件库/Lskj.Control/LabelDateHalfDayEdit.Designer.cs
new file mode 100644
index 0000000..7273fbb
--- /dev/null
+++ b/插件库/Lskj.Control/LabelDateHalfDayEdit.Designer.cs
@@ -0,0 +1,100 @@
+namespace Lskj.Control
+{
+ partial class LabelDateHalfDayEdit
+ {
+ ///
+ /// 必需的设计器变量。
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// 清理所有正在使用的资源。
+ ///
+ /// 如果应释放托管资源,为 true;否则为 false。
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region 组件设计器生成的代码
+
+ ///
+ /// 设计器支持所需的方法 - 不要修改
+ /// 使用代码编辑器修改此方法的内容。
+ ///
+ private void InitializeComponent()
+ {
+ this.plRight = new System.Windows.Forms.Panel();
+ this.txtEdit = new DevExpress.XtraEditors.PopupContainerEdit();
+ this.plLeft = new System.Windows.Forms.Panel();
+ this.lblText = new System.Windows.Forms.Label();
+ this.plRight.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.txtEdit.Properties)).BeginInit();
+ this.plLeft.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // plRight
+ //
+ this.plRight.Controls.Add(this.txtEdit);
+ this.plRight.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.plRight.Location = new System.Drawing.Point(40, 0);
+ this.plRight.Name = "plRight";
+ this.plRight.Size = new System.Drawing.Size(122, 21);
+ this.plRight.TabIndex = 3;
+ //
+ // txtEdit
+ //
+ this.txtEdit.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.txtEdit.Location = new System.Drawing.Point(0, 0);
+ this.txtEdit.Name = "txtEdit";
+ this.txtEdit.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
+ new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
+ this.txtEdit.Size = new System.Drawing.Size(122, 20);
+ this.txtEdit.TabIndex = 0;
+ //
+ // plLeft
+ //
+ this.plLeft.Controls.Add(this.lblText);
+ this.plLeft.Dock = System.Windows.Forms.DockStyle.Left;
+ this.plLeft.Location = new System.Drawing.Point(0, 0);
+ this.plLeft.Name = "plLeft";
+ this.plLeft.Size = new System.Drawing.Size(40, 21);
+ this.plLeft.TabIndex = 2;
+ //
+ // lblText
+ //
+ this.lblText.AutoSize = true;
+ this.lblText.Location = new System.Drawing.Point(5, 4);
+ this.lblText.Name = "lblText";
+ this.lblText.Size = new System.Drawing.Size(29, 12);
+ this.lblText.TabIndex = 0;
+ this.lblText.Text = "名称";
+ //
+ // LabelDateHalfDayEdit
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.BackColor = System.Drawing.Color.Transparent;
+ this.Controls.Add(this.plRight);
+ this.Controls.Add(this.plLeft);
+ this.Name = "LabelDateHalfDayEdit";
+ this.Size = new System.Drawing.Size(162, 21);
+ this.plRight.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.txtEdit.Properties)).EndInit();
+ this.plLeft.ResumeLayout(false);
+ this.plLeft.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel plRight;
+ private DevExpress.XtraEditors.PopupContainerEdit txtEdit;
+ private System.Windows.Forms.Panel plLeft;
+ private System.Windows.Forms.Label lblText;
+ }
+}
diff --git a/插件库/Lskj.Control/LabelDateHalfDayEdit.cs b/插件库/Lskj.Control/LabelDateHalfDayEdit.cs
new file mode 100644
index 0000000..65a90fb
--- /dev/null
+++ b/插件库/Lskj.Control/LabelDateHalfDayEdit.cs
@@ -0,0 +1,199 @@
+using System.ComponentModel;
+using System.Drawing;
+using System.Windows.Forms;
+using DevExpress.XtraEditors;
+using DevExpress.XtraEditors.Controls;
+using Lskj.Control.SpecialDate;
+
+namespace Lskj.Control
+{
+ ///
+ /// 日期半天控件,显示格式为 yyyy-MM-dd 上午/下午。
+ ///
+ public partial class LabelDateHalfDayEdit : BaseUserControl
+ {
+ private SpecialDatePopup specialDatePopup;
+ private PopupContainerControl popupControl;
+
+ ///
+ /// 日期半天下拉编辑框。
+ ///
+ public PopupContainerEdit TextEdit { get { return txtEdit; } }
+
+ ///
+ /// 左侧文本。
+ ///
+ public Label Label { get { return lblText; } }
+
+ public LabelDateHalfDayEdit()
+ {
+ InitializeComponent();
+ InitPopup();
+ }
+
+ ///
+ /// 设置控件显示文本。
+ ///
+ public override string LabelText
+ {
+ get
+ {
+ return this.lblText.Text;
+ }
+ set
+ {
+ this.lblText.Text = value;
+ if (FontSize > 0)
+ {
+ this.plLeft.Dock = DockStyle.Left;
+ this.plLeft.AutoSize = false;
+ this.lblText.AutoSize = false;
+ this.lblText.Dock = DockStyle.Fill;
+ this.lblText.Location = new Point(0, 0);
+ this.lblText.TextAlign = ContentAlignment.MiddleLeft;
+ this.txtEdit.Properties.AutoHeight = false;
+ this.plLeft.Width = value.Length * GetCharWidth();
+ GetCharWidthMultilingual(this.lblText, this.lblText.Text, this.plLeft);
+ }
+ else
+ {
+ this.plLeft.Width = this.lblText.Width + PaddingLeft;
+ }
+ }
+ }
+
+ ///
+ /// 字体大小。
+ ///
+ public override float FontSize
+ {
+ get
+ {
+ return base.FontSize;
+ }
+ set
+ {
+ base.FontSize = value;
+ if (value > 0)
+ {
+ this.lblText.Font = new Font(this.lblText.Font.FontFamily, value);
+ this.TextEdit.Font = new Font(this.TextEdit.Font.FontFamily, value);
+ }
+ }
+ }
+
+ ///
+ /// 设置控件值,MyControl.SetControlValue 会通过该属性给控件赋值。
+ ///
+ public override string EditText
+ {
+ get
+ {
+ return this.txtEdit.Text;
+ }
+ set
+ {
+ this.txtEdit.EditValue = string.IsNullOrWhiteSpace(value) ? null : value;
+ }
+ }
+
+ ///
+ /// 控件提示文本。
+ ///
+ public override string NullText
+ {
+ get
+ {
+ return this.txtEdit.Properties.NullValuePrompt;
+ }
+ set
+ {
+ if (!string.IsNullOrEmpty(value))
+ {
+ this.TextEdit.Properties.NullValuePromptShowForEmptyValue = true;
+ this.TextEdit.Properties.NullValuePrompt = value;
+ }
+ base.NullText = value;
+ }
+ }
+
+ ///
+ /// 只读状态。
+ ///
+ public override bool ReadOnly
+ {
+ get
+ {
+ return base.ReadOnly;
+ }
+ set
+ {
+ base.ReadOnly = value;
+ this.txtEdit.Properties.ReadOnly = value;
+ this.txtEdit.Enabled = !value;
+ this.lblText.ForeColor = value ? base.ReadOnlyLabelForceColor : Required ? base.RequiredLabelForceColor : base.DefaultLabelForceColor;
+ }
+ }
+
+ ///
+ /// 必填状态。
+ ///
+ public override bool Required
+ {
+ get
+ {
+ return base.Required;
+ }
+ set
+ {
+ base.Required = value;
+ if (value)
+ {
+ this.lblText.ForeColor = base.RequiredLabelForceColor;
+ }
+ }
+ }
+
+ private void InitPopup()
+ {
+ this.specialDatePopup = new SpecialDatePopup();
+ this.specialDatePopup.Dock = DockStyle.Fill;
+
+ this.popupControl = new PopupContainerControl();
+ this.popupControl.Controls.Add(this.specialDatePopup);
+ this.popupControl.Size = this.specialDatePopup.Size;
+
+ this.txtEdit.Properties.PopupControl = this.popupControl;
+ this.txtEdit.Properties.TextEditStyle = TextEditStyles.Standard;
+ this.txtEdit.QueryPopUp += TextEdit_QueryPopUp;
+
+ this.specialDatePopup.ConfirmClick += SpecialDatePopup_ConfirmClick;
+ this.specialDatePopup.ClearClick += SpecialDatePopup_ClearClick;
+ this.specialDatePopup.CancelClick += SpecialDatePopup_CancelClick;
+ }
+
+ private void TextEdit_QueryPopUp(object sender, CancelEventArgs e)
+ {
+ this.popupControl.Size = this.specialDatePopup.Size;
+ this.specialDatePopup.OwnerEdit = this.txtEdit;
+ this.specialDatePopup.SetValue(this.txtEdit.EditValue + "");
+ }
+
+ private void SpecialDatePopup_ConfirmClick(object sender, System.EventArgs e)
+ {
+ this.txtEdit.EditValue = this.specialDatePopup.SelectedValue;
+ this.txtEdit.ClosePopup();
+ }
+
+ private void SpecialDatePopup_ClearClick(object sender, System.EventArgs e)
+ {
+ this.txtEdit.EditValue = string.Empty;
+ this.txtEdit.ClosePopup();
+ }
+
+ private void SpecialDatePopup_CancelClick(object sender, System.EventArgs e)
+ {
+ this.txtEdit.ClosePopup();
+ }
+ }
+}
diff --git a/插件库/Lskj.Control/LabelDateHalfDayEdit.resx b/插件库/Lskj.Control/LabelDateHalfDayEdit.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/插件库/Lskj.Control/LabelDateHalfDayEdit.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/插件库/Lskj.Control/Model/CommonMenu.cs b/插件库/Lskj.Control/Model/CommonMenu.cs
index 76d7974..e4f75c8 100644
--- a/插件库/Lskj.Control/Model/CommonMenu.cs
+++ b/插件库/Lskj.Control/Model/CommonMenu.cs
@@ -419,7 +419,8 @@ namespace Lskj.Control.Model
default:
List str = new List
{
- _model.FormText,
+ //_model.FormText,
+ model.MenuName,
ERPInfo.Instance.UserId,
ERPInfo.Instance.UserName,
"3",
diff --git a/插件库/Lskj.Control/Model/ControlModel.cs b/插件库/Lskj.Control/Model/ControlModel.cs
index 966ab0b..b4bd073 100644
--- a/插件库/Lskj.Control/Model/ControlModel.cs
+++ b/插件库/Lskj.Control/Model/ControlModel.cs
@@ -332,4 +332,11 @@ namespace Lskj.Control.Model
///是否为 单据动态生成列开始日期控件
///
public bool SchedStartDataControl { get; set; }
- ///
\ No newline at end of file
+ ///
+ /// 弹出列表框中字体大小
+ ///
+ public int ListBoxFontSize { get; set; }
+ ///
+ /// 字段浏览权限
+ ///
+ public string PrivilegeVie
\ No newline at end of file
diff --git a/插件库/Lskj.Control/Model/ControlType.cs b/插件库/Lskj.Control/Model/ControlType.cs
index 4b44626..1ddd0e3 100644
--- a/插件库/Lskj.Control/Model/ControlType.cs
+++ b/插件库/Lskj.Control/Model/ControlType.cs
@@ -67,6 +67,10 @@ namespace Lskj.Control.Model
/// 日期框 显示(年-月)
///
public const int LabShortDate = 444444;
+ ///
+ /// 日期框 显示(年-月-日 上午/下午),保存字符串
+ ///
+ public const int LabDateHalfDay = 445;
///
/// 自动搜索框 保存Value值, 显示Text值
@@ -477,6 +481,14 @@ namespace Lskj.Control.Model
///模块选择返回行,返回text
///
public const int LabModuleAddRowsText = 168;
+ ///
+ /// 模块选择返回ID(新版)单选
+ ///
+ public const int LabSelectReturnIdSingleNew = 171;
+ ///
+ /// 模块选择返回Text(新版)单选
+ ///
+ public const int LabSelectReturnTextSingleNew = 172;
///
/// 说明:是否为Value类型
@@ -577,4 +589,5 @@ namespace Lskj.Control.Model
///
/// 不需要根据数据源sql获取数据源的控件
///
- ///
+ ///
public string PlanLetfControl;
///
- /// 隐藏下方操作按钮
+ /// 隐藏下方操作按钮(后续配置Dll模板,配置为Lskj.Report.dll也会隐藏下方,dll模板的配置是cs和bs通用的)
///
public bool HideBottomPanel;
///
@@ -298,6 +298,10 @@ namespace Lskj.Control.Model
/// 刷新单表明细时忽略关联字段(单表中,有关联模块,但是没有关联条件,关联值,是不会去查询数据的)
///
public bool IgnoreAssociatedFields;
+ ///
+ /// Dll模板
+ ///
+ public string Library;
///
/// 主模块编号
@@ -361,4 +365,5 @@ namespace Lskj.Control.Model
this.BottomRefreshMain = item.Table.Columns.Contains("BottomRefreshMain") ? "1".Equals(item["BottomRefreshMain"] + "") : false;
this.LoadFilter = item.Table.Columns.Contains("LoadFilter") ? "1".Equals(item["LoadFilter"] + "") : false;
this.DynamicDetails = item.Table.Columns.Contains("DynamicDetails") ? "1".Equals(item["DynamicDetails"] + "") : false;
- this.DetailSearch = item.Tabl
\ No newline at end of file
+ this.DetailSearch = item.Table.Columns.Contains("DetailSearch") ? "1".Equals(item["DetailSearch"] + "") : false;
+
\ No newline at end of file
diff --git a/插件库/Lskj.Control/Model/MyControl.cs b/插件库/Lskj.Control/Model/MyControl.cs
index bf2174a..872a671 100644
--- a/插件库/Lskj.Control/Model/MyControl.cs
+++ b/插件库/Lskj.Control/Model/MyControl.cs
@@ -402,6 +402,7 @@ namespace Lskj.Control.Model
if (control != null)
{
BaseUserControl baseControl = control as BaseUserControl;
+ baseControl.Location = model.Location;
System.Threading.SynchronizationContext.Current.Post(SetProperty, null);
void SetProperty(object state)
{
@@ -412,7 +413,7 @@ namespace Lskj.Control.Model
baseControl.LabelText = model.LabelText;
baseControl.NullText = model.NullText;
//baseControl.EditText = model.DefaultValue;
- baseControl.Location = model.Location;
+ //baseControl.Location = model.Location;
baseControl.Size = model.Size;
if (!model.ReadOnly && !string.IsNullOrWhiteSpace(model.ControlTitleColor))
{
@@ -1647,11 +1648,18 @@ namespace Lskj.Control.Model
{
SetControlValue(model, this.ParentKey);
}
+ else if (model.RememberValue&& ConditionalCaching.ConditionalCaches.ContainsKey(model.id) && !string.IsNullOrWhiteSpace(ConditionalCaching.ConditionalCaches[model.id]))
+ {
+ SetControlValue(model, ConditionalCaching.ConditionalCaches[model.id]);
+ }
else if (!string.IsNullOrEmpty(model.DefaultValue))
{
string defaultValue = this.SystemModel != null ? ReplaceHelper.ReplaceRowParam(this.SystemModel.maintabFocusedRow, model.DefaultValue) : model.DefaultValue;
SetControlValue(model, defaultValue);
}
+
+
+
}
//智能搜索框第一次加载时手动触发
if (changeLabelAutoGridLooks.Count > 0)
@@ -2013,6 +2021,11 @@ namespace Lskj.Control.Model
}
//value = dateEdit.TextEdit.EditValue == null ? dateEdit.EditText : dateEdit.TextEdit.EditValue.ToString();
break;
+ case ControlType.LabDateHalfDay:
+ // 日期半天控件
+ LabelDateHalfDayEdit dateHalfDayEdit = ctr as LabelDateHalfDayEdit;
+ if (dateHalfDayEdit != null) value = dateHalfDayEdit.TextEdit.EditValue == null ? dateHalfDayEdit.EditText : dateHalfDayEdit.TextEdit.EditValue.ToString();
+ break;
case ControlType.LabShortDate:
//为保存和表格保存格式相同。默认取EditValue值
LabelDateEdit dateEditNew = ctr as LabelDateEdit;
@@ -4120,6 +4133,9 @@ namespace Lskj.Control.Model
model.AuditControlTitleColor = item.Table.Columns.Contains("AuditControlTitleColor") ? item["AuditControlTitleColor"] + "" : "";
model.ModuleFrameDisplayText = item.Table.Columns.Contains("ModuleFrameDisplayText") ? "1".Equals(item["ModuleFrameDisplayText"] + "") : false;
model.InputBoxFontSize = item.Table.Columns.Contains("InputBoxFontSize") && !string.IsNullOrEmpty(item["InputBoxFontSize"] + "") ? Convert.ToInt32(item["InputBoxFontSize"] + "") : 0;
+ model.RememberValue = item.Table.Columns.Contains("RememberValue") ? "1".Equals(item["RememberValue"] + "") : false;
+
+
//为了和工具里和bs里统一
if (model.FieldType == 42)
{
@@ -4133,6 +4149,18 @@ namespace Lskj.Control.Model
model.FieldType = 160;
model.IsRadio = false;
}
+ if (model.FieldType == 171)
+ {
+ //模块选择返回ID(新版)单选
+ model.FieldType = 160;
+ model.IsRadio = true;
+ }
+ if (model.FieldType == 172)
+ {
+ //模块选择返回Text(新版)单选
+ model.FieldType = 161;
+ model.IsRadio = true;
+ }
return model;
}
@@ -4239,6 +4267,16 @@ namespace Lskj.Control.Model
}
baseControl = dateEdit;
break;
+ case ControlType.LabDateHalfDay:
+ // 日期半天控件
+ LabelDateHalfDayEdit dateHalfDayEdit = new LabelDateHalfDayEdit();
+ dateHalfDayEdit.TextEdit.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
+
+ dateHalfDayEdit.TextEdit.KeyDown += new KeyEventHandler(OnTextEditKeyDown);
+ dateHalfDayEdit.TextEdit.TextChanged += new EventHandler(OnTextEditTextChanged);
+ if (!isLoadBorder) dateHalfDayEdit.TextEdit.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
+ baseControl = dateHalfDayEdit;
+ break;
case ControlType.LabComboxValue:
case ControlType.LabComboxText:
case ControlType.LabComboxValueParam:
@@ -4667,7 +4705,7 @@ namespace Lskj.Control.Model
model.SourceSql = "";
//设置了ModuleFrameDisplayText(显示text值),就把配置的模块sql传给model.SourceSql
- if (model.ModuleFrameDisplayText)
+ if (model.FieldType == ControlType.LabSelectReturnIdNew)
{
moduleReturnsIdNew.ModuleFrameDisplayText = true;
model.SourceSql = moduleReturnsIdNew._lookUpForm.SysModel.MenuSql;
@@ -5175,6 +5213,13 @@ namespace Lskj.Control.Model
if (baseControl != null && baseControl.Model != null)
{
ControlModel model = baseControl.Model as ControlModel;
+ if (model.RememberValue)
+ {
+ //记录控件值
+ string fieldValue = GetControlValue(model);
+ ConditionalCaching.ConditionalCaches[model.id] = fieldValue;
+ }
+
if (this.CanExecControl)
{
// 是否存在计算值
@@ -6258,4 +6303,4 @@ namespace Lskj.Control.Model
LabelDateEdit dateEdit = controlObj as LabelDateEdit;
value = dateEdit.TextEdit.EditValue == null ? dateEdit.EditText : dateEdit.TextEdit.DateTime.ToString("yyyy-MM-dd");
}
- else if
\ No newline at end of file
+ else if (
\ No newline at end of file
diff --git a/插件库/Lskj.Control/ModuleEx.cs b/插件库/Lskj.Control/ModuleEx.cs
index 193f95e..1c908a3 100644
--- a/插件库/Lskj.Control/ModuleEx.cs
+++ b/插件库/Lskj.Control/ModuleEx.cs
@@ -671,6 +671,8 @@ namespace Lskj.Control
sqlValue = ReplaceHelper.ReplaceRowParam(this.treeGridLeft.GetViewFocusedDataRow(), sqlValue);
//isLoadGridSplit = rowitem != null && rowitem.Table.Columns.Contains("ReminderInformation");
}
+
+
//if (isLoadGridSplit)
//{
// this.ModuleGridObj.VisibleSearchPanel = false;
@@ -1109,6 +1111,19 @@ namespace Lskj.Control
}
}
+ if (this.SysModel.LeftUnioCond && e != null)
+ {
+ DataRow dr = this.gridLeft.GetViewFocusedDataRow();
+ foreach (ControlModel item in this.ModuleGridObj.SearchObj.ControlModels)
+ {
+ if (dr.Table.Columns.Contains(item.FieldName))
+ {
+ this.ModuleGridObj.SearchObj.SetControlValue(item, dr[item.FieldName] + "");
+ }
+ }
+
+ }
+
if (this.SysModel.IgnoreMainload)
{
// 只加载明细
@@ -1247,6 +1262,18 @@ namespace Lskj.Control
this.ModuleGridObj.SetDisplayColumns(dataRow["ReminderInformation"] + "");
}
}
+ if (this.SysModel.LeftUnioCond )
+ {
+ DataRow dr = this.treeGridLeft.GetViewFocusedDataRow();
+ foreach (ControlModel item in this.ModuleGridObj.SearchObj.ControlModels)
+ {
+ if (dr.Table.Columns.Contains(item.FieldName))
+ {
+ this.ModuleGridObj.SearchObj.SetControlValue(item, dr[item.FieldName] + "");
+ }
+ }
+
+ }
this.SetMainGridView();
if (this.IsDragDetail)
diff --git a/插件库/Lskj.Control/TabControlEx.cs b/插件库/Lskj.Control/TabControlEx.cs
index 7175eb1..5901aaa 100644
--- a/插件库/Lskj.Control/TabControlEx.cs
+++ b/插件库/Lskj.Control/TabControlEx.cs
@@ -1385,7 +1385,10 @@ namespace Lskj.Control
}
gridEx.VisibleOperPanel = !model.IsReadOnly;
- if (model.HideBottomPanel) gridEx.VisibleOperPanel = false;
+ if (model.HideBottomPanel|| model.Library.Equals("Lskj.Report.dll", StringComparison.OrdinalIgnoreCase))
+ {
+ gridEx.VisibleOperPanel = false;
+ }
gridEx.InitializeControl(model.SystemModel, dyncModel);
gridEx.GridControlObj.Tag = model;
diff --git a/插件库/Lskj.Control/TreeBandedGridControlEx.cs b/插件库/Lskj.Control/TreeBandedGridControlEx.cs
index e772d1d..3d82e4a 100644
--- a/插件库/Lskj.Control/TreeBandedGridControlEx.cs
+++ b/插件库/Lskj.Control/TreeBandedGridControlEx.cs
@@ -54,19 +54,29 @@ namespace Lskj.Control
/// 获取模块配置
///
public ModuleModel moduleModel;
- public TreeList TreeListObj { get { return gcMain; } }
+ public override TreeList TreeListObj { get { return gcMain; } }
///
/// 树表格固定菜单
///
- public ContextMenuStrip MenuStrip { get { return contextMenuStrip; } }
+ public override ContextMenuStrip MenuStrip { get { return contextMenuStrip; } }
///
/// 默认全部展开
///
- public string Expansion = "1";
+ private string _expansion = "1";
+ public override string Expansion
+ {
+ get { return _expansion; }
+ set { _expansion = value; }
+ }
//treeList树展开的节点块
- public List treeListNodes = new List();
+ private List _treeListNodes = new List();
+ public override List treeListNodes
+ {
+ get { return _treeListNodes; }
+ set { _treeListNodes = value; }
+ }
///
/// 按初始顺序保存全部gridBand
@@ -272,7 +282,7 @@ namespace Lskj.Control
///
/// The sender.
/// The instance containing the event data.
- protected void OnGridViewRowStyle(object sender, GetCustomNodeCellStyleEventArgs e)
+ protected override void OnGridViewRowStyle(object sender, GetCustomNodeCellStyleEventArgs e)
{
if (this.GridRowColorsTable != null && this.GridRowColorsTable.Rows.Count > 0)
{
@@ -324,7 +334,7 @@ namespace Lskj.Control
/// The source of the event.
/// The instance containing the event data.
///
- protected void OnGridViewRowCellStyle(object sender, CustomDrawNodeCellEventArgs e)
+ protected override void OnGridViewRowCellStyle(object sender, CustomDrawNodeCellEventArgs e)
{
if (this.GridRowColorsTable != null && this.GridRowColorsTable.Rows.Count > 0 && !string.IsNullOrEmpty(e.CellValue + ""))
{
@@ -596,7 +606,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The dr row.
- protected void InitEditColumns(TreeListColumn column, GridColumnModel model)
+ protected override void InitEditColumns(TreeListColumn column, GridColumnModel model)
{
switch (model.FieldType)
{
@@ -722,7 +732,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitAutoLinefeedEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public override void InitAutoLinefeedEdit(TreeListColumn gridColumn, GridColumnModel model)
{
DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit AutoLinefeedEdit = new DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit();
gridColumn.ColumnEdit = AutoLinefeedEdit;
@@ -738,7 +748,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitPasswordEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public override void InitPasswordEdit(TreeListColumn gridColumn, GridColumnModel model)
{
RepositoryItemTextEdit passEdit = new RepositoryItemTextEdit();
passEdit.UseSystemPasswordChar = true;
@@ -756,7 +766,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public override void InitComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
{
RepositoryItemLookUpEdit comboxEdit = new RepositoryItemLookUpEdit();
if (model.FontSize > 0) comboxEdit.Appearance.Font = new Font("微软雅黑", model.FontSize);
@@ -811,7 +821,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitProgressEdit(TreeListColumn gridColumn)
+ public override void InitProgressEdit(TreeListColumn gridColumn)
{
RepositoryItemProgressBar progressEdit = new RepositoryItemProgressBar();
progressEdit.ShowTitle = true;
@@ -831,7 +841,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitAutoSearchEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public override void InitAutoSearchEdit(TreeListColumn gridColumn, GridColumnModel model)
{
int popWidth = 0;
@@ -935,7 +945,7 @@ namespace Lskj.Control
///
/// The grid column.
/// Type of the field.
- public void InitDateTimeEdit(TreeListColumn gridColumn, int fieldType)
+ public override void InitDateTimeEdit(TreeListColumn gridColumn, int fieldType)
{
RepositoryItemDateEdit dateEdit = new RepositoryItemDateEdit();
dateEdit.DisplayFormat.FormatString = dateEdit.EditFormat.FormatString = dateEdit.Mask.EditMask = DateFormat.Format(fieldType);
@@ -971,7 +981,7 @@ namespace Lskj.Control
///
/// The grid column.
/// Type of the field.
- public void InitTimeEdit(TreeListColumn gridColumn, int fieldType)
+ public override void InitTimeEdit(TreeListColumn gridColumn, int fieldType)
{
RepositoryItemTimeEdit timeEdit = new RepositoryItemTimeEdit();
timeEdit.DisplayFormat.FormatString = timeEdit.EditFormat.FormatString = timeEdit.Mask.EditMask = DateFormat.Format(fieldType);
@@ -991,7 +1001,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitCalcEdit(TreeListColumn gridColumn)
+ public override void InitCalcEdit(TreeListColumn gridColumn)
{
RepositoryItemCalcEdit calcEdit = new RepositoryItemCalcEdit();
calcEdit.AllowMouseWheel = false;
@@ -1010,7 +1020,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitMemoEdit(TreeListColumn gridColumn)
+ public override void InitMemoEdit(TreeListColumn gridColumn)
{
RepositoryItemMemoExEdit memoEdit = new RepositoryItemMemoExEdit();
memoEdit.WordWrap = true;
@@ -1037,7 +1047,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitRemarkEdit(TreeListColumn gridColumn)
+ public override void InitRemarkEdit(TreeListColumn gridColumn)
{
RepositoryItemMemoEdit memo = new RepositoryItemMemoEdit();
memo.Appearance.TextOptions.WordWrap = WordWrap.Wrap;//自动换行
@@ -1056,7 +1066,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitMutilEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public override void InitMutilEdit(TreeListColumn gridColumn, GridColumnModel model)
{
FrmLookUp mutilLookUp = new FrmLookUp();
mutilLookUp.ValueField = model.ValueMember;
@@ -1103,7 +1113,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitAutoTreeSearchEdit(TreeListColumn gridColumn, GridColumnModel model, bool isMulitClick = true, bool isRootNode = true)
+ public override void InitAutoTreeSearchEdit(TreeListColumn gridColumn, GridColumnModel model, bool isMulitClick = true, bool isRootNode = true)
{
PubTreeLookUp _popup = new PubTreeLookUp();
//_popup.LookUp = gridColumn;
@@ -1150,7 +1160,7 @@ namespace Lskj.Control
///
/// The grid column.
/// The model.
- public void InitMutilComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public override void InitMutilComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
{
RepositoryItemCheckedComboBoxEdit comboxEdit = new RepositoryItemCheckedComboBoxEdit();
comboxEdit.AllowFocused = true;
@@ -1177,7 +1187,7 @@ namespace Lskj.Control
///
/// The grid column.
/// The model.
- public void InitRichEdit(TreeListColumn gridColumn)
+ public override void InitRichEdit(TreeListColumn gridColumn)
{
RepositoryItemRichTextEdit richEdit = new RepositoryItemRichTextEdit();
richEdit.Encoding = Encoding.UTF8;//乱码问题
@@ -1194,7 +1204,7 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- public void InitPicEdit(TreeListColumn gridColumn)
+ public override void InitPicEdit(TreeListColumn gridColumn)
{
RepositoryItemPictureEdit picEdit = new RepositoryItemPictureEdit();
picEdit.AutoHeight = true;
@@ -1309,7 +1319,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitCheckEdit(TreeListColumn gridColumn)
+ public override void InitCheckEdit(TreeListColumn gridColumn)
{
RepositoryItemCheckEdit checkEdit = new RepositoryItemCheckEdit();
checkEdit.ValueChecked = 1;
@@ -1488,13 +1498,13 @@ namespace Lskj.Control
///
/// The table.
/// The custom colum key.
- public void InitializeTreeMethod()
+ public override void InitializeTreeMethod()
{
this.TreeListObj.CellValueChanging += new DevExpress.XtraTreeList.CellValueChangedEventHandler(OnCellValueChaning);
}
- protected void OnCellValueChaning(object sender, CellValueChangedEventArgs e)
+ protected override void OnCellValueChaning(object sender, CellValueChangedEventArgs e)
{
try
{
@@ -1522,7 +1532,7 @@ namespace Lskj.Control
/// The node.
/// The check.
/// The grid column.
- protected void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
+ protected override void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
{
for (int i = 0; i < node.Nodes.Count; i++)
{
@@ -1544,7 +1554,7 @@ namespace Lskj.Control
/// The node.
/// The check.
/// The grid column.
- protected void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
+ protected override void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
{
if (node.ParentNode != null)
{
@@ -1572,13 +1582,13 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- protected void SetGridRowHeightAndFont()
+ protected override void SetGridRowHeightAndFont()
{
if (SystemInfo.Instance.GridRowFontSize > 0)
- this.gcMain.Appearance.Row.Font = new Font("微软雅黑", SystemInfo.Instance.GridRowFontSize);
+ this.TreeListObj.Appearance.Row.Font = new Font("微软雅黑", SystemInfo.Instance.GridRowFontSize);
if (SystemInfo.Instance.GridRowHeight > 0)
{
- this.gcMain.ColumnPanelRowHeight = this.gcMain.RowHeight = SystemInfo.Instance.GridRowHeight;
+ this.TreeListObj.ColumnPanelRowHeight = this.TreeListObj.RowHeight = SystemInfo.Instance.GridRowHeight;
}
}
///
@@ -1749,7 +1759,7 @@ namespace Lskj.Control
///
/// The grid column.
/// The model.
- protected virtual void SetColumnFormat(TreeListColumn gridColumn, GridColumnModel model)
+ public override void SetColumnFormat(TreeListColumn gridColumn, GridColumnModel model)
{
if (gridColumn == null || model == null) return;
@@ -1927,7 +1937,7 @@ namespace Lskj.Control
///
/// The sender.
/// The instance containing the event data.
- protected virtual void OnTreeGridViewKeyDown(object sender, KeyEventArgs e)
+ protected override void OnTreeGridViewKeyDown(object sender, KeyEventArgs e)
{
try
{
@@ -2058,7 +2068,7 @@ namespace Lskj.Control
///
/// The table.
/// if set to true [select row handler].
- public DataTable GetGridViewDataSource()
+ public override DataTable GetGridViewDataSource()
{
return this.gcMain.DataSource as DataTable;
}
@@ -2197,7 +2207,7 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- protected virtual void SetAutoColumns()
+ protected override void SetAutoColumns()
{
try
{
@@ -2361,7 +2371,7 @@ namespace Lskj.Control
///
/// 记录展开的节点
///
- public void GetTreeExpanded()
+ public override void GetTreeExpanded()
{
treeListNodes.Clear();
@@ -2372,7 +2382,7 @@ namespace Lskj.Control
}
- public void setRecursive(TreeListNode treeNode)
+ public override void setRecursive(TreeListNode treeNode)
{
if (treeNode.Expanded) treeListNodes.Add(treeNode);
// Visit each node recursively.
@@ -2448,7 +2458,7 @@ namespace Lskj.Control
///
/// The sender.
/// The instance containing the event data.
- protected void OnAutoSearchEditPopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
+ protected override void OnAutoSearchEditPopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
{
try
{
@@ -2595,7 +2605,7 @@ namespace Lskj.Control
///
/// The source of the event.
/// The instance containing the event data.
- protected void OnPopupGridViewEnter(object sender, KeyEventArgs e)
+ protected override void OnPopupGridViewEnter(object sender, KeyEventArgs e)
{
try
{
@@ -2744,7 +2754,7 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- protected void OnModuleChoice(object sender, ButtonPressedEventArgs e)
+ protected override void OnModuleChoice(object sender, ButtonPressedEventArgs e)
{
try
{
@@ -2798,7 +2808,7 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- protected void OnModuleRowsChoice(object sender, ButtonPressedEventArgs e)
+ protected override void OnModuleRowsChoice(object sender, ButtonPressedEventArgs e)
{
try
{
@@ -3072,4 +3082,4 @@ namespace Lskj.Control
}
table.Rows.Add(newRow);
//this.gridView.FocusedRowHandle = _rowNumber - 1;
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/插件库/Lskj.Control/TreeGridControlEx.cs b/插件库/Lskj.Control/TreeGridControlEx.cs
index 742bdb3..569348c 100644
--- a/插件库/Lskj.Control/TreeGridControlEx.cs
+++ b/插件库/Lskj.Control/TreeGridControlEx.cs
@@ -50,19 +50,29 @@ namespace Lskj.Control
///
public partial class TreeGridControlEx : GridControlEx
{
- public TreeList TreeListObj { get { return gcMain; } }
+ public virtual TreeList TreeListObj { get { return gcMain; } }
///
/// 树表格固定菜单
///
- public ContextMenuStrip MenuStrip { get { return contextMenuStrip; } }
+ public virtual ContextMenuStrip MenuStrip { get { return contextMenuStrip; } }
///
/// 默认全部展开
///
- public string Expansion = "1";
+ private string _expansion = "1";
+ public virtual string Expansion
+ {
+ get { return _expansion; }
+ set { _expansion = value; }
+ }
//treeList树展开的节点块
- public List treeListNodes = new List();
+ private List _treeListNodes = new List();
+ public virtual List treeListNodes
+ {
+ get { return _treeListNodes; }
+ set { _treeListNodes = value; }
+ }
///
/// 排序字段
@@ -102,7 +112,7 @@ namespace Lskj.Control
this.gcMain.KeyDown += new KeyEventHandler(OnTreeGridViewKeyDown);
this.gcMain.SelectionChanged += new EventHandler(gcMain_SelectionChanged);
this.gcMain.CustomDrawNodeCell += new CustomDrawNodeCellEventHandler(OnCustomDrawNodeCell);
- this.TreeListObj.CustomDrawNodeIndicator += TreeListObj_CustomDrawNodeIndicator;//显示行号
+ this.gcMain.CustomDrawNodeIndicator += TreeListObj_CustomDrawNodeIndicator;//显示行号
this.gcMain.CellValueChanged += GcMain_CellValueChanged;
this.gcMain.NodesReloaded += OnNodesReloaded;
this.gcMain.ColumnFilterChanged += TreeList1_ColumnFilterChanged;
@@ -117,7 +127,7 @@ namespace Lskj.Control
if (LicenseManager.UsageMode != LicenseUsageMode.Designtime)
{
- this.SetGridRowHeightAndFont();
+ SetGridRowHeightAndFont(this.gcMain);
if (SystemInfo.Instance.ExpandButtonType.Equals("1"))
{
this.gcMain.CustomDrawNodeButton += OnCustomDrawNodeButton;//绘制按钮
@@ -194,7 +204,7 @@ namespace Lskj.Control
{
// 跳过空节点
if (node == null) continue;
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(node) as DataRowView;
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(node) as DataRowView;
DataRow gridRow = dataRowView != null ? dataRowView.Row : null;
if ("true".Equals(EvalHelper.Eval(ReplaceHelper.ReplaceEvalCond(ReplaceHelper.ReplaceRowParam(gridRow, columnModel.SumCond))) + "", StringComparison.OrdinalIgnoreCase))
@@ -255,7 +265,7 @@ namespace Lskj.Control
{
//try
//{
- //List cells = this.gcMain.GetSelectedCells();
+ //List cells = this.TreeListObj.GetSelectedCells();
//DataRow[] rows = GetViewFocusedDataRows();
//this.pl_buttom.Visible = cells.Count > 1 && rows.Length > 1;
@@ -312,9 +322,9 @@ namespace Lskj.Control
{
DataRow rowItem = table.Select("1=1").FirstOrDefault(x => (x["condition"] + "").Contains("COLUMN_"));
if (rowItem != null)
- this.gcMain.CustomDrawNodeCell += new CustomDrawNodeCellEventHandler(OnGridViewRowCellStyle);
+ this.TreeListObj.CustomDrawNodeCell += new CustomDrawNodeCellEventHandler(OnGridViewRowCellStyle);
else
- this.gcMain.NodeCellStyle += new GetCustomNodeCellStyleEventHandler(OnGridViewRowStyle);
+ this.TreeListObj.NodeCellStyle += new GetCustomNodeCellStyleEventHandler(OnGridViewRowStyle);
}
}
///
@@ -328,12 +338,12 @@ namespace Lskj.Control
///
/// The sender.
/// The instance containing the event data.
- protected void OnGridViewRowStyle(object sender, GetCustomNodeCellStyleEventArgs e)
+ protected virtual void OnGridViewRowStyle(object sender, GetCustomNodeCellStyleEventArgs e)
{
if (this.GridRowColorsTable != null && this.GridRowColorsTable.Rows.Count > 0)
{
// 渲染界面数据量过多界面刷新会很慢
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(e.Node) as DataRowView;
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(e.Node) as DataRowView;
DataRow gridRow = dataRowView != null ? dataRowView.Row : null;
foreach (DataRow item in this.GridRowColorsTable.Rows)
{
@@ -380,12 +390,12 @@ namespace Lskj.Control
/// The source of the event.
/// The instance containing the event data.
///
- protected void OnGridViewRowCellStyle(object sender, CustomDrawNodeCellEventArgs e)
+ protected virtual void OnGridViewRowCellStyle(object sender, CustomDrawNodeCellEventArgs e)
{
if (this.GridRowColorsTable != null && this.GridRowColorsTable.Rows.Count > 0 && !string.IsNullOrEmpty(e.CellValue + ""))
{
// 渲染界面数据量过多界面刷新会很慢
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(e.Node) as DataRowView;
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(e.Node) as DataRowView;
DataRow gridRow = dataRowView != null ? dataRowView.Row : null;
foreach (DataRow item in this.GridRowColorsTable.Rows)
{
@@ -453,21 +463,21 @@ namespace Lskj.Control
//根据记录展开对应节点
foreach (TreeListNode treeListNode in treeListNodes)
{
- TreeListNode treeListNode1 = this.gcMain.Nodes.TreeList.FindNodeByID(treeListNode.Id);
+ TreeListNode treeListNode1 = this.TreeListObj.Nodes.TreeList.FindNodeByID(treeListNode.Id);
if (treeListNode1 != null) treeListNode1.Expanded = true;
}
this.TreeListObj.FocusedNode = this.TreeListObj.GetNodeByVisibleIndex(lastNodeIndex);
if ((Expansion + "").Equals("1"))
{
- this.gcMain.ExpandAll();
+ this.TreeListObj.ExpandAll();
}
else if ((Expansion + "").Equals("2"))
{
- this.gcMain.ExpandToLevel(0);
+ this.TreeListObj.ExpandToLevel(0);
}
else if ((Expansion + "").Equals("3"))
{
- this.gcMain.CollapseAll();
+ this.TreeListObj.CollapseAll();
}
//if (selectRowHandler)
@@ -531,14 +541,14 @@ namespace Lskj.Control
this.SetColumnSumming(gridColumn, model);
// 创建列
this.InitEditColumns(gridColumn, model);
- this.gcMain.Columns.AddRange(new TreeListColumn[] { gridColumn });
- //gcMain.Bands[0].Columns.Add(gridColumn);
+ this.TreeListObj.Columns.AddRange(new TreeListColumn[] { gridColumn });
+ //TreeListObj.Bands[0].Columns.Add(gridColumn);
this.ColumnList.Add(model);
}
if (!dataCaches.GetValue(this, "CustomColumnByDatabase", out DataTable customTable))
{
- customTable = this.gcMain.GetCustomColumnByDatabase(this.CustomColumKey);
+ customTable = this.TreeListObj.GetCustomColumnByDatabase(this.CustomColumKey);
}
this.SetCustomColumns(customTable);
@@ -557,7 +567,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The dr row.
- protected void InitEditColumns(TreeListColumn column, GridColumnModel model)
+ protected virtual void InitEditColumns(TreeListColumn column, GridColumnModel model)
{
switch (model.FieldType)
{
@@ -648,7 +658,7 @@ namespace Lskj.Control
break;
case ControlType.LabPicUrl:
// 用工具类创建图片列(绑定 Tag、Repository、UnboundType)
- LabPicUrlPreview_TreeList.InitPicColumn(this.gcMain, column, model);
+ LabPicUrlPreview_TreeList.InitPicColumn(this.TreeListObj, column, model);
break;
case ControlType.LabSelectReturnId:
case ControlType.LabSelectReturnText:
@@ -691,7 +701,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitAutoLinefeedEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public virtual void InitAutoLinefeedEdit(TreeListColumn gridColumn, GridColumnModel model)
{
DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit AutoLinefeedEdit = new DevExpress.XtraEditors.Repository.RepositoryItemMemoEdit();
gridColumn.ColumnEdit = AutoLinefeedEdit;
@@ -707,7 +717,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitPasswordEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public virtual void InitPasswordEdit(TreeListColumn gridColumn, GridColumnModel model)
{
RepositoryItemTextEdit passEdit = new RepositoryItemTextEdit();
passEdit.UseSystemPasswordChar = true;
@@ -725,7 +735,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public virtual void InitComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
{
RepositoryItemLookUpEdit comboxEdit = new RepositoryItemLookUpEdit();
if (model.FontSize > 0) comboxEdit.Appearance.Font = new Font("微软雅黑", model.FontSize);
@@ -780,7 +790,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitProgressEdit(TreeListColumn gridColumn)
+ public virtual void InitProgressEdit(TreeListColumn gridColumn)
{
RepositoryItemProgressBar progressEdit = new RepositoryItemProgressBar();
progressEdit.ShowTitle = true;
@@ -800,7 +810,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitAutoSearchEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public virtual void InitAutoSearchEdit(TreeListColumn gridColumn, GridColumnModel model)
{
int popWidth = 0;
@@ -904,7 +914,7 @@ namespace Lskj.Control
///
/// The grid column.
/// Type of the field.
- public void InitDateTimeEdit(TreeListColumn gridColumn, int fieldType)
+ public virtual void InitDateTimeEdit(TreeListColumn gridColumn, int fieldType)
{
RepositoryItemDateEdit dateEdit = new RepositoryItemDateEdit();
dateEdit.DisplayFormat.FormatString = dateEdit.EditFormat.FormatString = dateEdit.Mask.EditMask = DateFormat.Format(fieldType);
@@ -939,7 +949,7 @@ namespace Lskj.Control
///
/// The grid column.
/// Type of the field.
- public void InitTimeEdit(TreeListColumn gridColumn, int fieldType)
+ public virtual void InitTimeEdit(TreeListColumn gridColumn, int fieldType)
{
RepositoryItemTimeEdit timeEdit = new RepositoryItemTimeEdit();
timeEdit.DisplayFormat.FormatString = timeEdit.EditFormat.FormatString = timeEdit.Mask.EditMask = DateFormat.Format(fieldType);
@@ -959,7 +969,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitCalcEdit(TreeListColumn gridColumn)
+ public virtual void InitCalcEdit(TreeListColumn gridColumn)
{
RepositoryItemCalcEdit calcEdit = new RepositoryItemCalcEdit();
calcEdit.AllowMouseWheel = false;
@@ -978,7 +988,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitMemoEdit(TreeListColumn gridColumn)
+ public virtual void InitMemoEdit(TreeListColumn gridColumn)
{
RepositoryItemMemoExEdit memoEdit = new RepositoryItemMemoExEdit();
memoEdit.WordWrap = true;
@@ -1005,7 +1015,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitRemarkEdit(TreeListColumn gridColumn)
+ public virtual void InitRemarkEdit(TreeListColumn gridColumn)
{
RepositoryItemMemoEdit memo = new RepositoryItemMemoEdit();
memo.Appearance.TextOptions.WordWrap = WordWrap.Wrap;//自动换行
@@ -1024,7 +1034,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitMutilEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public virtual void InitMutilEdit(TreeListColumn gridColumn, GridColumnModel model)
{
FrmLookUp mutilLookUp = new FrmLookUp();
mutilLookUp.ValueField = model.ValueMember;
@@ -1067,7 +1077,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitAutoTreeSearchEdit(TreeListColumn gridColumn, GridColumnModel model, bool isMulitClick = true, bool isRootNode = true)
+ public virtual void InitAutoTreeSearchEdit(TreeListColumn gridColumn, GridColumnModel model, bool isMulitClick = true, bool isRootNode = true)
{
PubTreeLookUp _popup = new PubTreeLookUp();
//_popup.LookUp = gridColumn;
@@ -1114,7 +1124,7 @@ namespace Lskj.Control
///
/// The grid column.
/// The model.
- public void InitMutilComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
+ public virtual void InitMutilComboxEdit(TreeListColumn gridColumn, GridColumnModel model)
{
RepositoryItemCheckedComboBoxEdit comboxEdit = new RepositoryItemCheckedComboBoxEdit();
comboxEdit.AllowFocused = true;
@@ -1141,7 +1151,7 @@ namespace Lskj.Control
///
/// The grid column.
/// The model.
- public void InitRichEdit(TreeListColumn gridColumn)
+ public virtual void InitRichEdit(TreeListColumn gridColumn)
{
RepositoryItemRichTextEdit richEdit = new RepositoryItemRichTextEdit();
richEdit.Encoding = Encoding.UTF8;//乱码问题
@@ -1158,7 +1168,7 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- public void InitPicEdit(TreeListColumn gridColumn)
+ public virtual void InitPicEdit(TreeListColumn gridColumn)
{
RepositoryItemPictureEdit picEdit = new RepositoryItemPictureEdit();
picEdit.AutoHeight = true;
@@ -1316,7 +1326,7 @@ namespace Lskj.Control
/// 版本:1.0
///
/// The grid column.
- public void InitCheckEdit(TreeListColumn gridColumn)
+ public virtual void InitCheckEdit(TreeListColumn gridColumn)
{
RepositoryItemCheckEdit checkEdit = new RepositoryItemCheckEdit();
checkEdit.ValueChecked = 1;
@@ -1567,10 +1577,10 @@ namespace Lskj.Control
this.SetColumnSumming(gridColumn, model);
// 创建列
this.InitEditColumns(gridColumn, model);
- this.gcMain.Columns.AddRange(new TreeListColumn[] { gridColumn });
+ this.TreeListObj.Columns.AddRange(new TreeListColumn[] { gridColumn });
this.ColumnList.Add(model);
}
- DataTable customTable = this.gcMain.GetCustomColumnByDatabase(this.CustomColumKey);
+ DataTable customTable = this.TreeListObj.GetCustomColumnByDatabase(this.CustomColumKey);
this.SetCustomColumns(customTable);
// 延迟加载数据源
@@ -1634,7 +1644,7 @@ namespace Lskj.Control
case ControlType.LabComboxValueParam:
case ControlType.LabComboxTextParam:
case ControlType.LabTreeType:
- RepositoryItemLookUpEdit lookUp = this.gcMain.Columns[item.FieldName].ColumnEdit as RepositoryItemLookUpEdit;
+ RepositoryItemLookUpEdit lookUp = this.TreeListObj.Columns[item.FieldName].ColumnEdit as RepositoryItemLookUpEdit;
lookUp.DataSource = dataTable;
break;
case ControlType.LabAutoCompleteValue:
@@ -1646,7 +1656,7 @@ namespace Lskj.Control
case ControlType.LabAutoGridValueParam:
case ControlType.LabAutoGridTextParam:
int popWidth = 0;
- RepositoryItemGridLookUpEdit lookGridUp = this.gcMain.Columns[item.FieldName].ColumnEdit as RepositoryItemGridLookUpEdit;
+ RepositoryItemGridLookUpEdit lookGridUp = this.TreeListObj.Columns[item.FieldName].ColumnEdit as RepositoryItemGridLookUpEdit;
DataTable table = dataTable;
lookGridUp.DataSource = table;
@@ -1705,13 +1715,13 @@ namespace Lskj.Control
///
/// The table.
/// The custom colum key.
- public void InitializeTreeMethod()
+ public virtual void InitializeTreeMethod()
{
this.TreeListObj.CellValueChanging += new DevExpress.XtraTreeList.CellValueChangedEventHandler(OnCellValueChaning);
}
- protected void OnCellValueChaning(object sender, CellValueChangedEventArgs e)
+ protected virtual void OnCellValueChaning(object sender, CellValueChangedEventArgs e)
{
try
{
@@ -1739,7 +1749,7 @@ namespace Lskj.Control
/// The node.
/// The check.
/// The grid column.
- protected void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
+ protected virtual void SetCheckedChildNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
{
for (int i = 0; i < node.Nodes.Count; i++)
{
@@ -1761,7 +1771,7 @@ namespace Lskj.Control
/// The node.
/// The check.
/// The grid column.
- protected void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
+ protected virtual void SetCheckedParentNodes(DevExpress.XtraTreeList.Nodes.TreeListNode node, Object check, TreeListColumn gridColumn)
{
if (node.ParentNode != null)
{
@@ -1789,16 +1799,22 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- protected void SetGridRowHeightAndFont()
+ protected virtual void SetGridRowHeightAndFont()
{
+ SetGridRowHeightAndFont(this.TreeListObj);
+ }
+
+ private void SetGridRowHeightAndFont(TreeList treeList)
+ {
+ if (treeList == null) return;
if (SystemInfo.Instance.GridRowFontSize > 0)
{
- this.gcMain.Appearance.Row.Font = new Font("微软雅黑", SystemInfo.Instance.GridRowFontSize);
- this.gcMain.Appearance.HeaderPanel.Font = new Font("微软雅黑", SystemInfo.Instance.GridRowFontSize);
+ treeList.Appearance.Row.Font = new Font("微软雅黑", SystemInfo.Instance.GridRowFontSize);
+ treeList.Appearance.HeaderPanel.Font = new Font("微软雅黑", SystemInfo.Instance.GridRowFontSize);
}
if (SystemInfo.Instance.GridRowHeight > 0)
{
- this.gcMain.ColumnPanelRowHeight = this.gcMain.RowHeight = SystemInfo.Instance.GridRowHeight;
+ treeList.ColumnPanelRowHeight = treeList.RowHeight = SystemInfo.Instance.GridRowHeight;
}
}
///
@@ -1834,11 +1850,11 @@ namespace Lskj.Control
{
if (rowItem == null)
{
- success = this.gcMain.SaveCustomColumnToDatabase(this.CustomColumKey);
+ success = this.TreeListObj.SaveCustomColumnToDatabase(this.CustomColumKey);
}
else
{
- success = this.gcMain.UpdateCustomColumnToDatabase(this.CustomColumKey);
+ success = this.TreeListObj.UpdateCustomColumnToDatabase(this.CustomColumKey);
}
MessageUtil.Show(success ? ResourceKeys.SaveSuccess : ResourceKeys.SaveFault);
@@ -1892,9 +1908,9 @@ namespace Lskj.Control
}
if (MessageUtil.Show(ResourceKeys.IsResetColumn, MessageBoxButtons.YesNo) == DialogResult.Yes)
{
- bool success = this.gcMain.ResetCustomColumnToDatabase(this.CustomColumKey);
+ bool success = this.TreeListObj.ResetCustomColumnToDatabase(this.CustomColumKey);
- DataTable customTable = this.gcMain.GetCustomColumnByDatabase(this.CustomColumKey);
+ DataTable customTable = this.TreeListObj.GetCustomColumnByDatabase(this.CustomColumKey);
this.SetCustomColumns(customTable, false);
MessageUtil.Show(success ? ResourceKeys.ResetSuccess : ResourceKeys.ResetFault);
}
@@ -1958,7 +1974,7 @@ namespace Lskj.Control
// 设置底部合计
if (gridColumn.VisibleIndex == 0)
{
- gcMain.OptionsView.ShowSummaryFooter = true;
+ TreeListObj.OptionsView.ShowSummaryFooter = true;
gridColumn.AllNodesSummary = true;
gridColumn.SummaryFooter = SummaryItemType.Count;
gridColumn.SummaryFooterStrFormat = "合计:{0:#,###}行";
@@ -1967,7 +1983,7 @@ namespace Lskj.Control
{
if (model.CanSum)
{
- gcMain.OptionsView.ShowSummaryFooter = true;
+ TreeListObj.OptionsView.ShowSummaryFooter = true;
gridColumn.AllNodesSummary = true;
gridColumn.SummaryFooter = !string.IsNullOrEmpty(model.SumCond) ? DevExpress.XtraTreeList.SummaryItemType.Custom : DevExpress.XtraTreeList.SummaryItemType.Sum;
gridColumn.SummaryFooterStrFormat = "{0:" + model.DataFormat + "}";
@@ -2003,10 +2019,10 @@ namespace Lskj.Control
bool isFix = "True".Equals(rowItem["IfFixColumn"] + "", StringComparison.OrdinalIgnoreCase);
GridColumnModel column = this.ColumnList.Find(x => x.FieldName == fieldName);
- TreeListColumn gridColumn = this.gcMain.Columns.ColumnByName(fieldName);
+ TreeListColumn gridColumn = this.TreeListObj.Columns.ColumnByName(fieldName);
if (column != null && gridColumn != null && gridColumn.Visible && gridColumn.Width > 0)
{
- TreeListColumn colObj = this.gcMain.Columns[fieldName];
+ TreeListColumn colObj = this.TreeListObj.Columns[fieldName];
colObj.VisibleIndex = index;
colObj.Width = fieldWidth;
colObj.Visible = visible;
@@ -2020,9 +2036,9 @@ namespace Lskj.Control
for (int i = 0; i < this.ColumnList.Count; i++)
{
GridColumnModel column = this.ColumnList[i];
- if (this.gcMain.Columns.ColumnByName(column.FieldName) != null)
+ if (this.TreeListObj.Columns.ColumnByName(column.FieldName) != null)
{
- TreeListColumn colObj = this.gcMain.Columns[column.FieldName];
+ TreeListColumn colObj = this.TreeListObj.Columns[column.FieldName];
colObj.VisibleIndex = i;
colObj.Width = column.Width;
colObj.Visible = column.Visible;
@@ -2050,16 +2066,16 @@ namespace Lskj.Control
// 替换本列下所有数据为当前单元格数据
if (e.KeyCode == Keys.F6 || e.KeyCode == Keys.F7)
{
- TreeListColumn column = this.gcMain.FocusedColumn;
+ TreeListColumn column = this.TreeListObj.FocusedColumn;
GridColumnModel model = column.Tag as GridColumnModel;
if (column != null &&
column.OptionsColumn.AllowEdit &&
- this.gcMain.Nodes.Count > 0 &&
- this.gcMain.OptionsBehavior.Editable)
+ this.TreeListObj.Nodes.Count > 0 &&
+ this.TreeListObj.OptionsBehavior.Editable)
{
// 允许操作
//焦点行节点
- TreeListNode focusedNode = gcMain.FocusedNode;
+ TreeListNode focusedNode = TreeListObj.FocusedNode;
//获取当前界面上排序的节点
List dataSourceInTreeListOrder = GetDataSourceInTreeListOrder();
//选中行
@@ -2069,7 +2085,7 @@ namespace Lskj.Control
//界面上的全部数据条数
int totalRowCount = dataSourceInTreeListOrder.Count;
//操作的单元格
- List cells = this.gcMain.GetSelectedCells();
+ List cells = this.TreeListObj.GetSelectedCells();
if (cells.Count == 1 && focusedRowHandle + 1 < totalRowCount)
{
@@ -2123,7 +2139,7 @@ namespace Lskj.Control
}
- gcMain.PostEditor();
+ TreeListObj.PostEditor();
//if (isFilterContain)
//{
// gridView.FocusedRowHandle = gridView.FocusedRowHandle - 1;
@@ -2143,14 +2159,14 @@ namespace Lskj.Control
// 已当前列为基准,按顺序生成本列数据
if (e.KeyCode == Keys.F8)
{
- TreeListColumn column = this.gcMain.FocusedColumn;
+ TreeListColumn column = this.TreeListObj.FocusedColumn;
if (column != null &&
column.OptionsColumn.AllowEdit &&
- this.gcMain.Nodes.Count > 0 &&
- this.gcMain.OptionsBehavior.Editable)
+ this.TreeListObj.Nodes.Count > 0 &&
+ this.TreeListObj.OptionsBehavior.Editable)
{
// 允许操作
- TreeListNode focusedNode = gcMain.FocusedNode;
+ TreeListNode focusedNode = TreeListObj.FocusedNode;
//获取当前界面上排序的节点
List dataSourceInTreeListOrder = GetDataSourceInTreeListOrder();
//选中行
@@ -2160,7 +2176,7 @@ namespace Lskj.Control
//界面上的全部数据条数
int totalRowCount = dataSourceInTreeListOrder.Count;
//操作的单元格
- List cells = this.gcMain.GetSelectedCells();
+ List cells = this.TreeListObj.GetSelectedCells();
if (cells.Count == 1 && focusedRowHandle + 1 < totalRowCount)
{
@@ -2202,9 +2218,9 @@ namespace Lskj.Control
{
//选中节点下方的节点,和对应的行
TreeListNode node = dataSourceInTreeListOrder[i];
- gcMain.SetFocusedNode(node);
+ TreeListObj.SetFocusedNode(node);
node.SetValue(column, leftString + value.ToString().PadLeft(valueNum, '0'));
- gcMain.PostEditor();
+ TreeListObj.PostEditor();
value++;
}
e.Handled = true;
@@ -2217,9 +2233,9 @@ namespace Lskj.Control
for (int i = focusedRowHandle; i <= totalRowCount; i++)
{
TreeListNode node = dataSourceInTreeListOrder[i];
- gcMain.SetFocusedNode(node);
+ TreeListObj.SetFocusedNode(node);
node.SetValue(column, value);
- gcMain.PostEditor();
+ TreeListObj.PostEditor();
value++;
}
e.Handled = true;
@@ -2240,25 +2256,25 @@ namespace Lskj.Control
{
//List cells=new List();
////复选框状态
- //if (gcMain.OptionsSelection.MultiSelect == true && gcMain.OptionsSelection.MultiSelectMode == TreeListMultiSelectMode.RowSelect && gcMain.OptionsSelection.EnableAppearanceFocusedCell == false && this.GetViewFocusedDataRows().Length == 0)
+ //if (TreeListObj.OptionsSelection.MultiSelect == true && TreeListObj.OptionsSelection.MultiSelectMode == TreeListMultiSelectMode.RowSelect && TreeListObj.OptionsSelection.EnableAppearanceFocusedCell == false && this.GetViewFocusedDataRows().Length == 0)
//{
// //GridViewInfo info = gridView.GetViewInfo() as GridViewInfo;
// //GridCellInfo cellInfo = info.GetGridCellInfo(gridView.FocusedRowHandle, gridView.FocusedColumn);
- // TreeListCell cell = new TreeListCell(gcMain.FocusedNode, gcMain.FocusedColumn);
+ // TreeListCell cell = new TreeListCell(TreeListObj.FocusedNode, TreeListObj.FocusedColumn);
// cells.Add(cell);
//}
//else
//{
- // cells = this.gcMain.GetSelectedCells();
+ // cells = this.TreeListObj.GetSelectedCells();
//}
- var selectNodes = this.gcMain.Selection;
+ var selectNodes = this.TreeListObj.Selection;
if (selectNodes != null && selectNodes.Count == 1)
{
//object obj = gridView.GetFocusedRowCellValue(gridView.FocusedColumn);
- object obj = this.gcMain.FocusedNode.GetDisplayText(this.gcMain.FocusedColumn);
+ object obj = this.TreeListObj.FocusedNode.GetDisplayText(this.TreeListObj.FocusedColumn);
if (obj != null)
{
Clipboard.SetDataObject(obj + "");
@@ -2272,8 +2288,8 @@ namespace Lskj.Control
for (int i = 0; i < selectNodes.Count; i++)
{
TreeListNode treeNode = selectNodes[i];
- List cells = gcMain.GetSelectedCells(treeNode);
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(treeNode) as DataRowView;
+ List cells = TreeListObj.GetSelectedCells(treeNode);
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(treeNode) as DataRowView;
dataRows[i] = dataRowView != null ? dataRowView.Row : null;
foreach (TreeListColumn cell in cells)
{
@@ -2290,7 +2306,7 @@ namespace Lskj.Control
}
else
{
- gcMain.CopyToClipboard();
+ TreeListObj.CopyToClipboard();
e.Handled = true;
}
}
@@ -2301,12 +2317,12 @@ namespace Lskj.Control
// MessageUtil.Show("搜索模式下无法粘贴行.");
// return;
//}
- TreeListColumn column = this.gcMain.FocusedColumn;
+ TreeListColumn column = this.TreeListObj.FocusedColumn;
GridColumnModel model = column.Tag as GridColumnModel;
if (column != null &&
column.OptionsColumn.AllowEdit &&
- this.gcMain.Nodes.Count > 0 &&
- this.gcMain.OptionsBehavior.Editable)
+ this.TreeListObj.Nodes.Count > 0 &&
+ this.TreeListObj.OptionsBehavior.Editable)
{
object _objData = null;
IDataObject dataObj = Clipboard.GetDataObject();
@@ -2319,7 +2335,7 @@ namespace Lskj.Control
}
else if (e.Control && e.KeyCode == Keys.F)
{
- this.gcMain.ShowFindPanel();
+ this.TreeListObj.ShowFindPanel();
}
}
catch (Exception ex)
@@ -2341,11 +2357,11 @@ namespace Lskj.Control
/// DataRow.
public override DataRow GetViewFocusedDataRow()
{
- TreeListNode treeNode = this.gcMain.FocusedNode as TreeListNode;
+ TreeListNode treeNode = this.TreeListObj.FocusedNode as TreeListNode;
if (treeNode != null)
{
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(treeNode) as DataRowView;
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(treeNode) as DataRowView;
return dataRowView != null ? dataRowView.Row : null;
}
@@ -2366,7 +2382,7 @@ namespace Lskj.Control
{
if (treeNode != null)
{
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(treeNode) as DataRowView;
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(treeNode) as DataRowView;
return dataRowView != null ? dataRowView.Row : null;
}
@@ -2386,25 +2402,25 @@ namespace Lskj.Control
/// DataRow[].
public override DataRow[] GetViewFocusedDataRows()
{
- var selectNodes = this.gcMain.Selection;
+ var selectNodes = this.TreeListObj.Selection;
DataRow[] dataRows = new DataRow[selectNodes.Count];
for (int i = 0; i < selectNodes.Count; i++)
{
TreeListNode treeNode = selectNodes[i];
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(treeNode) as DataRowView;
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(treeNode) as DataRowView;
dataRows[i] = dataRowView != null ? dataRowView.Row : null;
}
//设置了复选框这个获取所有选中的节点行
- if (this.gcMain.OptionsView.ShowCheckBoxes == true && this.gcMain.OptionsSelection.MultiSelect == true && this.gcMain.OptionsSelection.MultiSelectMode == TreeListMultiSelectMode.RowSelect)
+ if (this.TreeListObj.OptionsView.ShowCheckBoxes == true && this.TreeListObj.OptionsSelection.MultiSelect == true && this.TreeListObj.OptionsSelection.MultiSelectMode == TreeListMultiSelectMode.RowSelect)
{
List TreeListNodeList = this.TreeListObj.GetAllCheckedNodes();
dataRows = new DataRow[TreeListNodeList.Count];
for (int i = 0; i < TreeListNodeList.Count; i++)
{
TreeListNode treeNode = TreeListNodeList[i];
- DataRowView dataRowView = this.gcMain.GetDataRecordByNode(treeNode) as DataRowView;
+ DataRowView dataRowView = this.TreeListObj.GetDataRecordByNode(treeNode) as DataRowView;
dataRows[i] = dataRowView != null ? dataRowView.Row : null;
}
@@ -2423,9 +2439,9 @@ namespace Lskj.Control
///
/// The table.
/// if set to true [select row handler].
- public DataTable GetGridViewDataSource()
+ public virtual DataTable GetGridViewDataSource()
{
- return this.gcMain.DataSource as DataTable;
+ return this.TreeListObj.DataSource as DataTable;
}
///
/// 说明:设置数据源
@@ -2442,13 +2458,13 @@ namespace Lskj.Control
{
if (this.ColumnList == null || this.ColumnList.Count == 0)
{
- this.gcMain.Columns.Clear();
+ this.TreeListObj.Columns.Clear();
}
lastNodeIndex = 0;
if (selectRowHandler) lastNodeIndex = this.TreeListObj.GetVisibleIndexByNode(this.TreeListObj.FocusedNode);
GetTreeExpanded();
- this.gcMain.ClearNodes();
- this.gcMain.DataSource = table;
+ this.TreeListObj.ClearNodes();
+ this.TreeListObj.DataSource = table;
this.AdjustIndicatorWidthSmart();
this.SetAutoColumns();
}
@@ -2457,7 +2473,7 @@ namespace Lskj.Control
if (adapter == null) return 0;
if (this.ColumnList == null || this.ColumnList.Count == 0)
{
- this.gcMain.Columns.Clear();
+ this.TreeListObj.Columns.Clear();
}
lastNodeIndex = 0;
if (selectRowHandler) lastNodeIndex = this.TreeListObj.GetVisibleIndexByNode(this.TreeListObj.FocusedNode);
@@ -2508,21 +2524,21 @@ namespace Lskj.Control
GetTreeExpanded();
- this.gcMain.DataSource = dataSet.Tables[0];
+ this.TreeListObj.DataSource = dataSet.Tables[0];
this.AdjustIndicatorWidthSmart();
this.SetAutoColumns();
if ((Expansion + "").Equals("1"))
{
- this.gcMain.ExpandAll();
+ this.TreeListObj.ExpandAll();
}
else if ((Expansion + "").Equals("2"))
{
- this.gcMain.ExpandToLevel(0);
+ this.TreeListObj.ExpandToLevel(0);
}
else if ((Expansion + "").Equals("3"))
{
- this.gcMain.CollapseAll();
+ this.TreeListObj.CollapseAll();
}
return dataSet.Tables[0] != null ? dataSet.Tables[0].Rows.Count : 0;
@@ -2543,11 +2559,11 @@ namespace Lskj.Control
if (this.ColumnList == null || this.ColumnList.Count == 0)
{
bool isShowFooter = false;
- for (int i = 0; i < gcMain.Columns.Count; i++)
+ for (int i = 0; i < TreeListObj.Columns.Count; i++)
{
try
{
- TreeListColumn col = gcMain.Columns[i];
+ TreeListColumn col = TreeListObj.Columns[i];
col.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
col.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
@@ -2568,7 +2584,7 @@ namespace Lskj.Control
{
isShowFooter = true;
- gcMain.OptionsView.ShowSummaryFooter = true;
+ TreeListObj.OptionsView.ShowSummaryFooter = true;
col.AllNodesSummary = true;
col.SummaryFooter = SummaryItemType.Count;
col.SummaryFooterStrFormat = "合计:{0:#,###}行";
@@ -2581,7 +2597,7 @@ namespace Lskj.Control
{
isShowFooter = true;
- gcMain.OptionsView.ShowSummaryFooter = true;
+ TreeListObj.OptionsView.ShowSummaryFooter = true;
col.AllNodesSummary = true;
col.SummaryFooter = DevExpress.XtraTreeList.SummaryItemType.Sum;
col.SummaryFooterStrFormat = "{0:}";
@@ -2621,18 +2637,18 @@ namespace Lskj.Control
///
/// 记录展开的节点
///
- public void GetTreeExpanded()
+ public virtual void GetTreeExpanded()
{
treeListNodes.Clear();
- foreach (TreeListNode n in this.gcMain.Nodes)
+ foreach (TreeListNode n in this.TreeListObj.Nodes)
{
setRecursive(n);
}
}
- public void setRecursive(TreeListNode treeNode)
+ public virtual void setRecursive(TreeListNode treeNode)
{
if (treeNode.Expanded) treeListNodes.Add(treeNode);
// Visit each node recursively.
@@ -2662,7 +2678,7 @@ namespace Lskj.Control
{
try
{
- this.gcMain.ExpandAll();
+ this.TreeListObj.ExpandAll();
}
catch (Exception ex)
{
@@ -2686,7 +2702,7 @@ namespace Lskj.Control
{
try
{
- this.gcMain.CollapseAll();
+ this.TreeListObj.CollapseAll();
}
catch (Exception ex)
{
@@ -2708,7 +2724,7 @@ namespace Lskj.Control
///
/// The sender.
/// The instance containing the event data.
- protected void OnAutoSearchEditPopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
+ protected virtual void OnAutoSearchEditPopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
{
try
{
@@ -2855,7 +2871,7 @@ namespace Lskj.Control
///
/// The source of the event.
/// The instance containing the event data.
- protected void OnPopupGridViewEnter(object sender, KeyEventArgs e)
+ protected virtual void OnPopupGridViewEnter(object sender, KeyEventArgs e)
{
try
{
@@ -3003,7 +3019,7 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- protected void OnModuleChoice(object sender, ButtonPressedEventArgs e)
+ protected virtual void OnModuleChoice(object sender, ButtonPressedEventArgs e)
{
try
{
@@ -3120,7 +3136,7 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- protected void OnModuleRowsChoice(object sender, ButtonPressedEventArgs e)
+ protected virtual void OnModuleRowsChoice(object sender, ButtonPressedEventArgs e)
{
try
{
@@ -3188,7 +3204,7 @@ namespace Lskj.Control
DataRow dataRow = this.GetViewFocusedDataRow();
if (!string.IsNullOrEmpty(model.SqlSource))
{
- foreach (DevExpress.XtraGrid.Columns.GridColumn gridColumn in this.gcMain.Columns)
+ foreach (DevExpress.XtraGrid.Columns.GridColumn gridColumn in this.TreeListObj.Columns)
{
GridColumnModel colModel = gridColumn.Tag as GridColumnModel;
if (!string.IsNullOrEmpty(colModel.unionCompare) && colModel.unionCompare.Trim().Split('^').Length == 2)
@@ -3236,7 +3252,7 @@ namespace Lskj.Control
/// The instance containing the event data.
private void OnCustomDrawNodeCell(object sender, CustomDrawNodeCellEventArgs e)
{
- if (e.Node == this.gcMain.FocusedNode)
+ if (e.Node == this.TreeListObj.FocusedNode)
e.Appearance.BackColor = ColorTranslator.FromHtml("#9feb6a");
@@ -3260,18 +3276,18 @@ namespace Lskj.Control
string[] _arrayRowStr = _tempStr.Split(_split, StringSplitOptions.None);
if (_arrayRowStr.Length < 1)
return;
- TreeListColumn focColumn = this.gcMain.FocusedColumn;
- focColumn = focColumn == null ? this.gcMain.Columns[0] : focColumn;
+ TreeListColumn focColumn = this.TreeListObj.FocusedColumn;
+ focColumn = focColumn == null ? this.TreeListObj.Columns[0] : focColumn;
if (focColumn != null)
{
DataTable table = this.GetGridViewDataSource();
int beforeNumber = table.Rows.Count;
- _rowNumber = this.gcMain.GetVisibleIndexByNode(this.gcMain.FocusedNode);
+ _rowNumber = this.TreeListObj.GetVisibleIndexByNode(this.TreeListObj.FocusedNode);
if (_rowNumber < 0)
{
_rowNumber = 0;
}
- if (_arrayRowStr.Length != this.gcMain.Selection.Count)
+ if (_arrayRowStr.Length != this.TreeListObj.Selection.Count)
{
//选择区域与粘贴行数不匹配
}
@@ -3286,8 +3302,8 @@ namespace Lskj.Control
{
newRow = table.NewRow();
//table.Rows.Add(newRow);
- TreeListColumnCollection gridColumns = this.gcMain.Columns;
- this.gcMain.FocusedNode = this.gcMain.GetNodeByVisibleIndex(_rowNumber);
+ TreeListColumnCollection gridColumns = this.TreeListObj.Columns;
+ this.TreeListObj.FocusedNode = this.TreeListObj.GetNodeByVisibleIndex(_rowNumber);
foreach (TreeListColumn col in gridColumns)
{
GridColumnModel model = col.Tag as GridColumnModel;
@@ -3307,17 +3323,17 @@ namespace Lskj.Control
}
}
}
- this.gcMain.FocusedNode = this.gcMain.GetNodeByVisibleIndex(_rowNumber);
+ this.TreeListObj.FocusedNode = this.TreeListObj.GetNodeByVisibleIndex(_rowNumber);
if (_arrayStr2.Length == 0)
_arrayStr2[0] = _arrayRowStr[i];
int _colNumber = beforeNumber == 0 ? 0 : focColumn.VisibleIndex;
for (int j = 0; j < _arrayStr2.Length; j++)//j = _colNumber
{
- TreeListColumn col = this.gcMain.VisibleColumns[_colNumber];
+ TreeListColumn col = this.TreeListObj.VisibleColumns[_colNumber];
GridColumnModel model = col.Tag as GridColumnModel;
- if (model != null && (model.CanCopy || ((this.gcMain.OptionsBehavior.Editable) && (this.gcMain.VisibleColumns[_colNumber].OptionsColumn.AllowEdit))))
+ if (model != null && (model.CanCopy || ((this.TreeListObj.OptionsBehavior.Editable) && (this.TreeListObj.VisibleColumns[_colNumber].OptionsColumn.AllowEdit))))
{
// 返回ID类型特殊处理
string cellValue = _arrayStr2[j];
@@ -3340,7 +3356,7 @@ namespace Lskj.Control
if (newRow == null)
{
DataRow dataRow = this.GetViewFocusedDataRow();
- dataRow[this.gcMain.FocusedColumn.FieldName] = value;
+ dataRow[this.TreeListObj.FocusedColumn.FieldName] = value;
}
else
{
@@ -3375,15 +3391,15 @@ namespace Lskj.Control
{
// 其它处理(如绑定左侧树结构数据)
//if (OnParseGridDataCallBack != null) this.OnParseGridDataCallBack(newRow);
- for (int j = 0; j < this.gcMain.Columns.Count; j++)
+ for (int j = 0; j < this.TreeListObj.Columns.Count; j++)
{
- if (this.gcMain.Columns[j].Tag == null) continue;
- if ((this.gcMain.Columns[j].Tag as GridColumnModel).LimitLength > 0)
+ if (this.TreeListObj.Columns[j].Tag == null) continue;
+ if ((this.TreeListObj.Columns[j].Tag as GridColumnModel).LimitLength > 0)
{
- int MaxInputLength = System.Text.Encoding.Default.GetBytes(newRow[this.gcMain.Columns[j].FieldName].ToString()).Length;
- if (MaxInputLength > (this.gcMain.Columns[j].Tag as GridColumnModel).LimitLength)
+ int MaxInputLength = System.Text.Encoding.Default.GetBytes(newRow[this.TreeListObj.Columns[j].FieldName].ToString()).Length;
+ if (MaxInputLength > (this.TreeListObj.Columns[j].Tag as GridColumnModel).LimitLength)
{
- newRow.SetColumnError(newRow.Table.Columns[this.gcMain.Columns[j].FieldName], "当前输入文本超过设定长度!");//不满足条件设置错误信息
+ newRow.SetColumnError(newRow.Table.Columns[this.TreeListObj.Columns[j].FieldName], "当前输入文本超过设定长度!");//不满足条件设置错误信息
}
}
}
@@ -3392,10 +3408,10 @@ namespace Lskj.Control
}
else
{
- //this.gcMain.UpdateCurrentRow();
+ //this.TreeListObj.UpdateCurrentRow();
}
}
- this.gcMain.ShowEditor();
+ this.TreeListObj.ShowEditor();
e.Handled = true;
//SendKeys.Send("{Esc}");
}
@@ -3461,15 +3477,15 @@ namespace Lskj.Control
}
if ((Expansion + "").Equals("1"))
{
- this.gcMain.ExpandAll();
+ this.TreeListObj.ExpandAll();
}
else if ((Expansion + "").Equals("2"))
{
- this.gcMain.ExpandToLevel(0);
+ this.TreeListObj.ExpandToLevel(0);
}
else if ((Expansion + "").Equals("3"))
{
- this.gcMain.CollapseAll();
+ this.TreeListObj.CollapseAll();
}
}
@@ -3480,7 +3496,7 @@ namespace Lskj.Control
public string GetNewNodesId()
{
int id = 1;
- DataTable gridTable = (this.gcMain.DataSource as DataTable).TrimDeleteRows();
+ DataTable gridTable = (this.TreeListObj.DataSource as DataTable).TrimDeleteRows();
//获取表里最大的节点id
if (gridTable != null && gridTable.Rows.Count > 0)
{
@@ -3506,7 +3522,7 @@ namespace Lskj.Control
public void GenerateNodeID()
{
//树表格当前数据源重新生成id
- DataTable dt = this.gcMain.DataSource as DataTable;
+ DataTable dt = this.TreeListObj.DataSource as DataTable;
int i = 1;
foreach (DataRow item in dt.Rows)
{
@@ -3562,7 +3578,7 @@ namespace Lskj.Control
DeleteFailedRows.Add(rowItem[TreeListObj.KeyFieldName] + "");
}
}
- DataTable table = this.gcMain.DataSource as DataTable;
+ DataTable table = this.TreeListObj.DataSource as DataTable;
foreach (DataRow item in deleteRows)
{
table.Rows.Remove(item);
@@ -3599,7 +3615,7 @@ namespace Lskj.Control
Pid = node.Id + "";
}
- DataTable gridTable = (this.gcMain.DataSource as DataTable).TrimDeleteRows();
+ DataTable gridTable = (this.TreeListObj.DataSource as DataTable).TrimDeleteRows();
if (!gridTable.Columns.Contains(ERPInfo.Instance.isAddRows))
{
gridTable.Columns.Add(ERPInfo.Instance.isAddRows, typeof(String));
@@ -3624,7 +3640,7 @@ namespace Lskj.Control
{
try
{
- DataTable gridTable = (this.gcMain.DataSource as DataTable).TrimDeleteRows();
+ DataTable gridTable = (this.TreeListObj.DataSource as DataTable).TrimDeleteRows();
DataRow tmpRow = gridTable.NewRow();
int position = gridTable.Rows.Count - 1;
foreach (GridColumnModel model in this.ColumnList)
@@ -3658,9 +3674,9 @@ namespace Lskj.Control
}
}
}
- tmpRow[this.gcMain.KeyFieldName] = GetNewNodesId();//节点id
+ tmpRow[this.TreeListObj.KeyFieldName] = GetNewNodesId();//节点id
gridTable.Rows.Add(tmpRow);
- this.gcMain.ShowEditor();
+ this.TreeListObj.ShowEditor();
}
catch (Exception ex)
@@ -3787,8 +3803,8 @@ namespace Lskj.Control
return;
}
- DataRow DragRow = (this.gcMain.GetDataRecordByNode(SelectedNode) as DataRowView).Row;//拖拽行
- DataRow TargetRow = (this.gcMain.GetDataRecordByNode(TreeListNode) as DataRowView).Row; //目标行
+ DataRow DragRow = (this.TreeListObj.GetDataRecordByNode(SelectedNode) as DataRowView).Row;//拖拽行
+ DataRow TargetRow = (this.TreeListObj.GetDataRecordByNode(TreeListNode) as DataRowView).Row; //目标行
int SerialNumber = int.Parse(TargetRow[this.SortField] + "") + 1;//目标行序号+1
foreach (DataRow item in dataTable.Rows)
@@ -3855,7 +3871,7 @@ namespace Lskj.Control
private void SortAllNodes(TreeListNode node)
{
- DataRow rowItem = (this.gcMain.GetDataRecordByNode(node) as DataRowView).Row;
+ DataRow rowItem = (this.TreeListObj.GetDataRecordByNode(node) as DataRowView).Row;
rowItem[this.SortField] = NumberValue;
NumberValue++;
@@ -3900,8 +3916,8 @@ namespace Lskj.Control
///
public void GcMain_CellValueChanged(object sender, CellValueChangedEventArgs e)
{
- //TreeListNode aaa = this.gcMain.Nodes[e.Node.Id+1];//获取当前改变行下一行的节点
- //DataRow a = (this.gcMain.GetDataRecordByNode(aaa) as DataRowView).Row;//根据节点获取行数据
+ //TreeListNode aaa = this.TreeListObj.Nodes[e.Node.Id+1];//获取当前改变行下一行的节点
+ //DataRow a = (this.TreeListObj.GetDataRecordByNode(aaa) as DataRowView).Row;//根据节点获取行数据
//treeListNode.SetValue(e.Column, "新值"); // 赋值
@@ -3917,7 +3933,7 @@ namespace Lskj.Control
treeListNode.SetValue(e.Column, result);
}
- DataTable dataTable = this.gcMain.DataSource as DataTable;
+ DataTable dataTable = this.TreeListObj.DataSource as DataTable;
int rowHandle = treeListNode.Id;
//根据某一列的值自动填充对应值
@@ -3937,7 +3953,7 @@ namespace Lskj.Control
foreach (DataRow selectRow in selectRows)
{
int dataSourceIndex = dataTable.Rows.IndexOf(selectRow);
- TreeListNode node = this.gcMain.Nodes[dataSourceIndex];
+ TreeListNode node = this.TreeListObj.Nodes[dataSourceIndex];
selectRow[e.Column.FieldName] = e.Value;
//关联
if (!string.IsNullOrEmpty(model.UnionFields))
@@ -3965,7 +3981,7 @@ namespace Lskj.Control
//验证数据长度
if (model.LimitLength > 0 && e.Value != null)
{
- DataRow HandleRow = (this.gcMain.GetDataRecordByNode(treeListNode) as DataRowView).Row;
+ DataRow HandleRow = (this.TreeListObj.GetDataRecordByNode(treeListNode) as DataRowView).Row;
int MaxInputLength = System.Text.Encoding.Default.GetBytes(e.Value.ToString()).Length;
if (model.LimitLength < MaxInputLength)
HandleRow.SetColumnError(HandleRow.Table.Columns[e.Column.ColumnHandle], "当前输入文本超过设定长度!");//满足条件设置错误信息
@@ -3992,8 +4008,8 @@ namespace Lskj.Control
/// The field value.
protected virtual void SetUnionValue(GridColumnModel model, string fieldValue, TreeListNode node)
{
- DataTable table = this.gcMain.DataSource as DataTable;
- DataRow rowItem = table.Rows.Count == 0 || this.gcMain.FocusedNode != null ? this.GetViewFocusedDataRow() : this.gcMain.FocusedNode == node || node == null ? this.GetViewFocusedDataRow() : (this.gcMain.GetDataRecordByNode(node) as DataRowView).Row;
+ DataTable table = this.TreeListObj.DataSource as DataTable;
+ DataRow rowItem = table.Rows.Count == 0 || this.TreeListObj.FocusedNode != null ? this.GetViewFocusedDataRow() : this.TreeListObj.FocusedNode == node || node == null ? this.GetViewFocusedDataRow() : (this.TreeListObj.GetDataRecordByNode(node) as DataRowView).Row;
string unionValues = model.UnionValues;
@@ -4051,12 +4067,12 @@ namespace Lskj.Control
this.GridSumming = true;
try
{
- DataTable table = this.gcMain.DataSource as DataTable;
- DataRow rowItem = table.Rows.Count == 0 || this.gcMain.FocusedNode != null ? this.GetViewFocusedDataRow() : this.gcMain.FocusedNode == node || node == null ? this.GetViewFocusedDataRow() : (this.gcMain.GetDataRecordByNode(node) as DataRowView).Row;
+ DataTable table = this.TreeListObj.DataSource as DataTable;
+ DataRow rowItem = table.Rows.Count == 0 || this.TreeListObj.FocusedNode != null ? this.GetViewFocusedDataRow() : this.TreeListObj.FocusedNode == node || node == null ? this.GetViewFocusedDataRow() : (this.TreeListObj.GetDataRecordByNode(node) as DataRowView).Row;
if (rowItem != null && model != null)
{
- foreach (TreeListColumn col in this.gcMain.Columns)
+ foreach (TreeListColumn col in this.TreeListObj.Columns)
{
GridColumnModel colModel = col.Tag as GridColumnModel;
if (colModel == null) continue;
@@ -4227,12 +4243,12 @@ namespace Lskj.Control
/// The field value.
public void UpperChange(GridColumnModel model, GridColumnModel gridModel, TreeListNode node)
{
- DataTable Table = this.gcMain.DataSource as DataTable;
- DataRow rowItem = (this.gcMain.GetDataRecordByNode(node) as DataRowView).Row;
+ DataTable Table = this.TreeListObj.DataSource as DataTable;
+ DataRow rowItem = (this.TreeListObj.GetDataRecordByNode(node) as DataRowView).Row;
string UpperFieldName = ReplaceHelper.GetParamFields(gridModel.DefaultValue)[0];
UpperFieldName = UpperFieldName.Replace("}", "").Replace("{", "");
UpperFieldName = UpperFieldName.Substring(UpperFieldName.IndexOf('_') + 1);
- if (string.IsNullOrWhiteSpace(rowItem[gridModel.FieldName] + "") || this.gcMain.FocusedNode != node)
+ if (string.IsNullOrWhiteSpace(rowItem[gridModel.FieldName] + "") || this.TreeListObj.FocusedNode != node)
{
if (node.Id != 0 && Table.Columns.Contains(ERPInfo.Instance.isAddRows))
{
@@ -4257,7 +4273,7 @@ namespace Lskj.Control
{
Table.Rows[node.Id + 1][ERPInfo.Instance.isAddRows] = 0;
}
- this.OnGridViewtUpperValueChanged(this.gcMain.Columns[gridModel.FieldName], Table.Rows[node.Id + 1][gridModel.FieldName] + "", node.Id + 1, gridModel);
+ this.OnGridViewtUpperValueChanged(this.TreeListObj.Columns[gridModel.FieldName], Table.Rows[node.Id + 1][gridModel.FieldName] + "", node.Id + 1, gridModel);
}
}
@@ -4276,7 +4292,7 @@ namespace Lskj.Control
{
if (Newcolumn == null) return;
GridColumnModel model = Newcolumn.Tag as GridColumnModel;
- TreeListNode node = this.gcMain.Nodes[rowhandle];
+ TreeListNode node = this.TreeListObj.Nodes[rowhandle];
if (!string.IsNullOrEmpty(model.UnionFields))
{
this.SetUnionValue(model, value, node);
@@ -4307,7 +4323,7 @@ namespace Lskj.Control
if (!string.IsNullOrEmpty(model.EnableCond))
{
GridColumnModel[] columns = this.ColumnList.Where(x => x.EnableCond.Contains("{" + model.FieldName + "}")).ToArray();
- DataRow rowItem = (this.gcMain.GetDataRecordByNode(node) as DataRowView).Row;
+ DataRow rowItem = (this.TreeListObj.GetDataRecordByNode(node) as DataRowView).Row;
foreach (GridColumnModel item in columns)
{
try
@@ -4315,7 +4331,7 @@ namespace Lskj.Control
string disableCond = ReplaceHelper.ReplaceRowParam(rowItem, item.EnableCond.Replace("{" + model.FieldName + "}", fieldValue));
string diaableType = item.DisableType;
//this.gridView.Columns.ColumnByFieldName(model.FieldName).Visible = ("true".Equals(EvalHelper.Eval(ReplaceHelper.ReplaceEvalCond(disableCond)) + "", StringComparison.OrdinalIgnoreCase));
- this.gcMain.Columns.ColumnByFieldName(model.FieldName).Visible = ("true".Equals(ValidateCond(disableCond, null) + "", StringComparison.OrdinalIgnoreCase));
+ this.TreeListObj.Columns.ColumnByFieldName(model.FieldName).Visible = ("true".Equals(ValidateCond(disableCond, null) + "", StringComparison.OrdinalIgnoreCase));
}
catch (Exception)
{
@@ -4383,7 +4399,7 @@ namespace Lskj.Control
///
public bool IsColumnSorted()
{
- foreach (TreeListColumn column in this.gcMain.Columns)
+ foreach (TreeListColumn column in this.TreeListObj.Columns)
{
if (column.SortIndex > 0)
{
@@ -4399,7 +4415,7 @@ namespace Lskj.Control
///
public void ClearAllSort()
{
- this.gcMain.ClearSorting();
+ this.TreeListObj.ClearSorting();
}
@@ -4575,7 +4591,7 @@ namespace Lskj.Control
public override void SetFieldStatus(string ModifyFields, string RequiredFields, DataTable AuthorityTable = null)
{
- TreeListColumnCollection gc = this.gcMain.Columns;
+ TreeListColumnCollection gc = this.TreeListObj.Columns;
bool Modify = false;
bool Required = false;
Color RequiredForceColor = string.IsNullOrEmpty(SystemInfo.Instance.ControlRequiredColor) ? Color.Blue : ColorTranslator.FromHtml(SystemInfo.Instance.ControlRequiredColor);
@@ -4635,4 +4651,38 @@ namespace Lskj.Control
/// 修改备注:
/// 版本:1.0
///
- /// 判断是否只刷新UpdateColu
\ No newline at end of file
+ /// 判断是否只刷新UpdateColumn中配置的列的数据源
+ public void RefreshDataSource(bool UpdateColumnRefresh = false)
+ {
+ //this.mLoading = false;
+ SetColumnsSource();
+ }
+
+
+ ///
+ /// 设置序号列宽度
+ ///
+ public void AdjustIndicatorWidthSmart()
+ {
+ try
+ {
+ int nodeCount = this.TreeListObj.AllNodesCount;// 获取节点总数
+ if (nodeCount == 0) return;
+ // 计算数字宽度(TreeList可能有层级,适当增加系数)
+ int numberWidth = (int)(nodeCount.ToString().Length * 7.5) + 16; // 系数和偏移量略大于GridView
+
+ // 设置宽度(范围可适当放宽,如50-100px,适应层级缩进)
+ this.TreeListObj.IndicatorWidth = Math.Max(40, Math.Min(80, numberWidth));
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+
+
+
+
+
+ }
+}