基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Lskj.Util;
|
||||
using Lskj.Business;
|
||||
using System.Windows.Forms;
|
||||
using Lskj.Model;
|
||||
|
||||
namespace Lskj.PubAdd
|
||||
{
|
||||
/// <summary>
|
||||
/// c#库被调用统一接口类
|
||||
/// </summary>
|
||||
public sealed class DllBaseClass : IForm
|
||||
{
|
||||
public DllBaseClass()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public DllBaseClass(string[] obj)
|
||||
{
|
||||
try
|
||||
{
|
||||
FrmMain main = new FrmMain();
|
||||
this.SubForm = main;
|
||||
|
||||
main.Model = new DynamicAddModel(obj);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogUtil.WriteError("Lskj.PubAdd.dll--参数错误-->" + obj.ToString(), ex);
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 窗口
|
||||
/// </summary>
|
||||
public Form SubForm { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,411 @@
|
||||
/******************************
|
||||
* 说明:基础档案添加界面
|
||||
* 创建人:龚宇超
|
||||
* 创建日期:2017-11-02
|
||||
* 修改人:
|
||||
* 修改日期:
|
||||
* 修改备注:
|
||||
* 版本:1.0.0.0
|
||||
******************************/
|
||||
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.Control;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Util;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Model;
|
||||
using DevExpress.XtraTab;
|
||||
using DevExpress.Utils;
|
||||
using Lskj.Data;
|
||||
|
||||
namespace Lskj.PubAdd
|
||||
{
|
||||
/// <summary>
|
||||
/// 基础档案添加界面
|
||||
/// </summary>
|
||||
public partial class FrmMain : BaseForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 系统模块实体对象
|
||||
/// </summary>
|
||||
/// <value>The system model.</value>
|
||||
public ModuleModel SysModel { get; private set; }
|
||||
/// <summary>
|
||||
/// 调用动态链接库默认传递参数
|
||||
/// </summary>
|
||||
public DynamicAddModel Model;
|
||||
/// <summary>
|
||||
/// 第一页控件
|
||||
/// </summary>
|
||||
public ModulePanelEx FirstModulePageEx;
|
||||
/// <summary>
|
||||
/// 除主页剩下页面
|
||||
/// </summary>
|
||||
public List<ModulePanelEx> OtherModulePageEx = new List<ModulePanelEx>();
|
||||
|
||||
public FrmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
WaitForm.ShowForm();
|
||||
|
||||
try
|
||||
{
|
||||
this.SysModel = new ModuleModel(MainImpl.GetSystemdllTab(Model.ModuleCode));
|
||||
|
||||
this.CreateControlLocation();
|
||||
this.SetControlPanelSize();
|
||||
this.CreateTabDetail();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Instance.WriteError(ex);
|
||||
MessageUtil.Show(ex.Message + "\r\n" + ex.StackTrace);
|
||||
}
|
||||
|
||||
this.Text = Model.FormText + (string.IsNullOrWhiteSpace(Model.ObjectId) ? "" : "[" + Model.ObjectId + "]");
|
||||
WaitForm.HideForm();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:设置窗口大小</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-03 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="menuCode">The menu code.</param>
|
||||
private void SetControlPanelSize()
|
||||
{
|
||||
DataRow item = BaseModuleImpl.GetControlParentSize(this.SysModel.FormKey);
|
||||
if (item != null)
|
||||
{
|
||||
int otherHeight = 80;
|
||||
bool topVisible = false;
|
||||
|
||||
if ("lskj.pubadd.dll".Equals((this.SysModel.MenuAddName).ToLower()) && !this.SysModel.AnyAdd)
|
||||
{
|
||||
otherHeight = 130;
|
||||
topVisible = true;
|
||||
}
|
||||
|
||||
this.FirstModulePageEx.SetTopPanelVisible(topVisible);
|
||||
this.Width = Convert.ToInt32(item["width"] + "");
|
||||
this.Height =Convert.ToInt32(item["height"] + "") + otherHeight;
|
||||
this.Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2;
|
||||
this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2;
|
||||
if ((this.Width > Screen.PrimaryScreen.WorkingArea.Width) || (this.Height > Screen.PrimaryScreen.WorkingArea.Height))
|
||||
this.WindowState = FormWindowState.Maximized;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:初始化多标签</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-10 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void CreateTabDetail()
|
||||
{
|
||||
DataTable details = BaseModuleImpl.GetBaseAddTabDetail(Model.ModuleCode);
|
||||
|
||||
foreach (DataRow item in details.Rows)
|
||||
{
|
||||
string cacheKey = this.Model.ModuleCode + "_" + item["id"] + "";
|
||||
bool isCache = CacheHelper.Exsits(cacheKey);
|
||||
|
||||
XtraTabPage tabPage = new XtraTabPage();
|
||||
|
||||
GridDetailModel detailModel = new GridDetailModel(item, null, GridCustomColumnStruct.BaseDetailGridView);
|
||||
ModuleModel moduleModel = new ModuleModel(MainImpl.GetSystemdllTab(detailModel.UnionModule));
|
||||
|
||||
if (isCache)
|
||||
{
|
||||
tabPage = CacheHelper.Get<XtraTabPage>(cacheKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
detailModel.GridColumns = ReportImpl.GetReportDetailColumns(Model.ModuleCode, item["id"] + "");
|
||||
detailModel.DetailSql = moduleModel.MenuSql;
|
||||
|
||||
DynamicAddModel addModel = new DynamicAddModel(new string[] {
|
||||
detailModel.DetailName,
|
||||
ERPInfo.Instance.UserId,
|
||||
ERPInfo.Instance.UserName,
|
||||
"1",detailModel.UnionModule,"","",""
|
||||
});
|
||||
|
||||
ModuleGridEx moduleGrid = new ModuleGridEx();
|
||||
moduleGrid.Dock = DockStyle.Fill;
|
||||
moduleGrid.Tag = detailModel;
|
||||
moduleGrid.ParentKeyField = string.IsNullOrEmpty(detailModel.UnionParentField) ? SysModel.ParmaryKey : detailModel.UnionParentField;
|
||||
moduleGrid.DetailKeyField = detailModel.UnionValue;
|
||||
moduleGrid.UnionKey = moduleGrid.ParentKeyField;
|
||||
moduleGrid.UnionValue = this.FirstModulePageEx.ControlObj.GetControlValue(moduleGrid.UnionKey); //Model.ObjectId;
|
||||
moduleGrid.InitializeControl(moduleModel, addModel);
|
||||
moduleGrid.SearchObj.OnSearchBeforeCallBack += new SearchEventHandler(OnSearchBefore);
|
||||
moduleGrid.SearchObj.OnSearchAfterCallBack += new EventHandler(OnSearchAfter);
|
||||
|
||||
|
||||
tabPage.Text = detailModel.DetailName;
|
||||
tabPage.Tag = moduleGrid;
|
||||
tabPage.Controls.Add(moduleGrid);
|
||||
|
||||
CacheHelper.Add(cacheKey, tabPage);
|
||||
}
|
||||
|
||||
if (detailModel.AutoRefresh)
|
||||
{
|
||||
// 自动刷新
|
||||
ModuleGridEx moduleGrid = tabPage.Tag as ModuleGridEx;
|
||||
moduleGrid.SearchObj.SearchGrid(ReplaceHelper.ReplaceWhereCond(moduleModel.MenuSql) + string.Format(" and {0}='{1}'", moduleGrid.DetailKeyField, moduleGrid.UnionValue));
|
||||
tabPage.Text = detailModel.DetailName + "(" + moduleGrid.SearchObj.GridRowCount + "条)";
|
||||
}
|
||||
this.xtcControl.TabPages.Add(tabPage);
|
||||
}
|
||||
this.xtcControl.ShowTabHeader = this.xtcControl.TabPages.Count > 1 ? DefaultBoolean.True : DefaultBoolean.False;
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:创建控件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-03 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void CreateControlLocation()
|
||||
{
|
||||
DataTable table = BaseModuleImpl.GetControlLocation(this.SysModel.FormKey, this.Model.ModuleCode);
|
||||
DataTable pagingTable = BaseModuleImpl.GetAddPageData(this.SysModel.FormKey);
|
||||
|
||||
List<DataTable> tableList = new List<DataTable>();
|
||||
|
||||
if (pagingTable != null && pagingTable.Rows.Count > 0)
|
||||
{
|
||||
for (int i = 0; i <= pagingTable.Rows.Count; i++)
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
// 第一页默认详细信息
|
||||
DataTable pageTable = new DataTable();
|
||||
DataRow nextItem = pagingTable.Rows[i];
|
||||
|
||||
DataRow[] rows = table.Select(string.Format("controlTop<={0}", Convert.ToInt32(nextItem["controlTop"] + "")));
|
||||
if (rows != null && rows.Length > 0)
|
||||
pageTable = rows.CopyToDataTable();
|
||||
|
||||
ModulePanelEx moduleAddControl = this.CreatePageControlLocation(pageTable);
|
||||
moduleAddControl.Dock = DockStyle.Fill;
|
||||
XtraTabPage tabPage = new XtraTabPage();
|
||||
tabPage.Text = "详细信息";
|
||||
tabPage.Controls.Add(moduleAddControl);
|
||||
this.xtcControl.TabPages.Add(tabPage);
|
||||
this.FirstModulePageEx = moduleAddControl;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 第二页根据分页显示
|
||||
DataTable pageTable = new DataTable();
|
||||
DataRow rowItem = pagingTable.Rows[i - 1];
|
||||
DataRow nextItem = pagingTable.Rows.Count > i ? pagingTable.Rows[i] : null;
|
||||
|
||||
DataRow[] rows = table.Select(string.Format("controlTop>={0} and controlTop<={1}", Convert.ToInt32(rowItem["controlTop"] + ""), nextItem == null ? 99999 : Convert.ToInt32(nextItem["controlTop"] + "")));
|
||||
if (rows != null && rows.Length > 0)
|
||||
pageTable = rows.CopyToDataTable();
|
||||
|
||||
ModulePanelEx moduleAddControl = this.CreatePageControlLocation(pageTable);
|
||||
moduleAddControl.Dock = DockStyle.Fill;
|
||||
XtraTabPage tabPage = new XtraTabPage();
|
||||
tabPage.Text = rowItem["GroupName"] + "";
|
||||
tabPage.Controls.Add(moduleAddControl);
|
||||
|
||||
this.xtcControl.TabPages.Add(tabPage);
|
||||
this.OtherModulePageEx.Add(moduleAddControl);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ModulePanelEx moduleAddControl = this.CreatePageControlLocation(table);
|
||||
moduleAddControl.Dock = DockStyle.Fill;
|
||||
|
||||
XtraTabPage tabPage = new XtraTabPage();
|
||||
tabPage.Text = "详细信息";
|
||||
tabPage.Controls.Add(moduleAddControl);
|
||||
|
||||
this.xtcControl.TabPages.Add(tabPage);
|
||||
this.FirstModulePageEx = moduleAddControl;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:创建单页控件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2019-07-10 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="table">The table.</param>
|
||||
private ModulePanelEx CreatePageControlLocation(DataTable table)
|
||||
{
|
||||
ModulePanelEx moduleAddControl = new ModulePanelEx();
|
||||
|
||||
moduleAddControl.IsView = Model.IsView;
|
||||
moduleAddControl.ParentKey = Model.ParentKey;
|
||||
moduleAddControl.ParentValue = Model.ParentValue;
|
||||
moduleAddControl.PrimaryKey = BaseImpl.GetBasePrimaryKey(Model.ModuleCode);
|
||||
moduleAddControl.UnionKey = Model.UnionKey;
|
||||
moduleAddControl.UnionValue = Model.UnionValue;
|
||||
moduleAddControl.PrimaryValue = Model.ObjectId;
|
||||
moduleAddControl.ControlSql = Model.ControlSql;
|
||||
moduleAddControl.OnCloseCallback += new EventHandler(OnCloseCallback);
|
||||
moduleAddControl.InitializeControl(SysModel, Model, table);
|
||||
|
||||
return moduleAddControl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:关闭按钮回调</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-08 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
protected void OnCloseCallback(object sender, EventArgs e)
|
||||
{
|
||||
this.DialogResult = DialogResult.OK;
|
||||
this.Close();
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:查询条件执行前</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-10 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The sender.</param>
|
||||
/// <param name="e">The e.</param>
|
||||
protected void OnSearchBefore(object sender, SearchArgs e)
|
||||
{
|
||||
XtraTabPage tabPage = xtcControl.SelectedTabPage;
|
||||
if (tabPage != null)
|
||||
{
|
||||
ModuleGridEx moduleGrid = tabPage.Tag as ModuleGridEx;
|
||||
GridDetailModel detailModel = moduleGrid.Tag as GridDetailModel;
|
||||
|
||||
moduleGrid.SearchObj.SearchGrid(detailModel.DetailSql + string.Format(" and {0}='{1}'", moduleGrid.DetailKeyField, moduleGrid.UnionValue));
|
||||
}
|
||||
e.Continue = false;
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:查询条件执行后</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-10 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
protected void OnSearchAfter(object sender, EventArgs e)
|
||||
{
|
||||
XtraTabPage tabPage = xtcControl.SelectedTabPage;
|
||||
if (tabPage != null)
|
||||
{
|
||||
ModuleGridEx moduleGrid = tabPage.Tag as ModuleGridEx;
|
||||
GridDetailModel detailModel = moduleGrid.Tag as GridDetailModel;
|
||||
tabPage.Text = detailModel.DetailName + "(" + moduleGrid.SearchObj.GridRowCount + "条)";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:切换选项卡</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-04-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="TabPageChangingEventArgs"/> instance containing the event data.</param>
|
||||
protected void OnSelectedPageChanging(object sender, TabPageChangingEventArgs e)
|
||||
{
|
||||
XtraTabPage page = e.Page;
|
||||
if (page != null)
|
||||
{
|
||||
if (e.PrevPage == xtcControl.TabPages[0] && string.IsNullOrEmpty(this.FirstModulePageEx.PrimaryValue))
|
||||
{
|
||||
MessageUtil.Show(ResourceKeys.BeforeSaveData);
|
||||
e.Cancel = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (ModulePanelEx item in OtherModulePageEx)
|
||||
{
|
||||
item.PrimaryValue = this.FirstModulePageEx.PrimaryValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:切换标签刷新主键值</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-04-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="TabPageChangedEventArgs"/> instance containing the event data.</param>
|
||||
private void OnSelectedPageChanged(object sender, TabPageChangedEventArgs e)
|
||||
{
|
||||
//XtraTabPage page = e.Page;
|
||||
//if (page != null && page.Tag is ModuleGridEx)
|
||||
//{
|
||||
// ModuleGridEx gridEx = page.Tag as ModuleGridEx;
|
||||
// GridDetailModel detailModel = gridEx.Tag as GridDetailModel;
|
||||
|
||||
// gridEx.SearchObj.SearchGrid();
|
||||
// gridEx.UnionValue = this.ModuleAddControl.PrimaryValue;
|
||||
|
||||
// page.Text = detailModel.DetailName + "(" + gridEx.SearchObj.GridRowCount + "条)";
|
||||
//}
|
||||
}
|
||||
|
||||
private void FrmMain_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (this.FirstModulePageEx != null && this.FirstModulePageEx.IsCard)
|
||||
{
|
||||
this.FirstModulePageEx.CloseIDCardThread();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+105
@@ -0,0 +1,105 @@
|
||||
namespace Lskj.PubAdd
|
||||
{
|
||||
partial class FrmMain
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.xtcControl = new DevExpress.XtraTab.XtraTabControl();
|
||||
this.xtraTabPage1 = new DevExpress.XtraTab.XtraTabPage();
|
||||
this.ModuleAddControl = new Lskj.Control.ModulePanelEx();
|
||||
((System.ComponentModel.ISupportInitialize)(this.xtcControl)).BeginInit();
|
||||
this.xtcControl.SuspendLayout();
|
||||
this.xtraTabPage1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// xtcControl
|
||||
//
|
||||
this.xtcControl.Appearance.BackColor = System.Drawing.Color.Transparent;
|
||||
this.xtcControl.Appearance.Options.UseBackColor = true;
|
||||
this.xtcControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.xtcControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.xtcControl.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.xtcControl.Name = "xtcControl";
|
||||
this.xtcControl.SelectedTabPage = this.xtraTabPage1;
|
||||
this.xtcControl.Size = new System.Drawing.Size(977, 624);
|
||||
this.xtcControl.TabIndex = 0;
|
||||
this.xtcControl.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
|
||||
this.xtraTabPage1});
|
||||
this.xtcControl.SelectedPageChanged += new DevExpress.XtraTab.TabPageChangedEventHandler(this.OnSelectedPageChanged);
|
||||
this.xtcControl.SelectedPageChanging += new DevExpress.XtraTab.TabPageChangingEventHandler(this.OnSelectedPageChanging);
|
||||
//
|
||||
// xtraTabPage1
|
||||
//
|
||||
this.xtraTabPage1.Controls.Add(this.ModuleAddControl);
|
||||
this.xtraTabPage1.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.xtraTabPage1.Name = "xtraTabPage1";
|
||||
this.xtraTabPage1.Size = new System.Drawing.Size(971, 595);
|
||||
this.xtraTabPage1.Text = "详细信息";
|
||||
//
|
||||
// ModuleAddControl
|
||||
//
|
||||
this.ModuleAddControl.BackColor = System.Drawing.Color.Transparent;
|
||||
this.ModuleAddControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.ModuleAddControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.ModuleAddControl.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.ModuleAddControl.Name = "ModuleAddControl";
|
||||
this.ModuleAddControl.ParentKey = "类别编号";
|
||||
this.ModuleAddControl.ParentValue = "类别名称";
|
||||
this.ModuleAddControl.Size = new System.Drawing.Size(971, 595);
|
||||
this.ModuleAddControl.TabIndex = 0;
|
||||
//
|
||||
// FrmMain
|
||||
//
|
||||
this.Appearance.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.Appearance.Options.UseBackColor = true;
|
||||
this.Appearance.Options.UseFont = true;
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(977, 624);
|
||||
this.Controls.Add(this.xtcControl);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Margin = new System.Windows.Forms.Padding(5);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FrmMain";
|
||||
this.Text = "";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.OnFormClosing);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.OnFormClosed);
|
||||
((System.ComponentModel.ISupportInitialize)(this.xtcControl)).EndInit();
|
||||
this.xtcControl.ResumeLayout(false);
|
||||
this.xtraTabPage1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DevExpress.XtraTab.XtraTabControl xtcControl;
|
||||
private DevExpress.XtraTab.XtraTabPage xtraTabPage1;
|
||||
private Control.ModulePanelEx ModuleAddControl;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,599 @@
|
||||
/******************************
|
||||
* 说明:基础档案添加界面
|
||||
* 创建人:龚宇超
|
||||
* 创建日期:2017-11-02
|
||||
* 修改人:
|
||||
* 修改日期:
|
||||
* 修改备注:
|
||||
* 版本:1.0.0.0
|
||||
******************************/
|
||||
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.Control;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Util;
|
||||
using Lskj.Business.Impl;
|
||||
using Lskj.Model;
|
||||
using DevExpress.XtraTab;
|
||||
using DevExpress.Utils;
|
||||
using Lskj.Data;
|
||||
using Lskj.Business;
|
||||
using System.Threading;
|
||||
using DevExpress.XtraEditors;
|
||||
using Lskj.Core;
|
||||
|
||||
namespace Lskj.PubAdd
|
||||
{
|
||||
/// <summary>
|
||||
/// 基础档案添加界面
|
||||
/// </summary>
|
||||
public partial class FrmMain : BaseForm
|
||||
{
|
||||
/// <summary>
|
||||
/// 主表选中行
|
||||
/// </summary>
|
||||
public DataRow MaintabFocusedRow { get; private set; }
|
||||
/// <summary>
|
||||
/// 系统模块实体对象
|
||||
/// </summary>
|
||||
/// <value>The system model.</value>
|
||||
public ModuleModel SysModel { get; private set; }
|
||||
/// <summary>
|
||||
/// 里面是否使用滚动条
|
||||
/// </summary>
|
||||
public bool isAutoScroll = false;
|
||||
/// <summary>
|
||||
/// 调用动态链接库默认传递参数
|
||||
/// </summary>
|
||||
public DynamicAddModel Model;
|
||||
double H_Scaling;
|
||||
double W_Scaling;
|
||||
|
||||
public FrmMain()
|
||||
{
|
||||
SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.Selectable | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.SupportsTransparentBackColor, true);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
WaitForm.ShowForm();
|
||||
|
||||
try
|
||||
{
|
||||
Console.WriteLine("初始化开始:" + DateTime.Now);
|
||||
//this.SuspendLayout();
|
||||
this.SysModel = new ModuleModel(MainImpl.GetSystemdllTab(this.Model.ModuleCode));
|
||||
this.SysModel.ParmaryKey = BaseImpl.GetBasePrimaryKey(this.Model.ModuleCode);
|
||||
this.SysModel.maintabFocusedRow = JsonUtil.ToDataRow(Model.MaintabFocusedRowJson);
|
||||
this.ModuleAddControl.OnAddRecordCallBack += OnAddRecordCallBack;
|
||||
|
||||
this.CreateControlLocation();
|
||||
this.SetControlPanelSize();
|
||||
|
||||
this.CreateTabDetail();
|
||||
Console.WriteLine("初始化完成:" + DateTime.Now);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Instance.WriteError(ex);
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
|
||||
//this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
this.Text = Model.FormText + (string.IsNullOrWhiteSpace(Model.ObjectId) ? "" : "[" + Model.ObjectId + "]");
|
||||
LogUtil.WriteDebug(Model.ModuleCode, "打开操作", ERPInfo.Instance.UserName, "打开[" + Model.FormText + "] 查看" + Model.ObjectId, Model.ModuleId + "");
|
||||
WaitForm.HideForm();
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:设置窗口大小</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-03 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="menuCode">The menu code.</param>
|
||||
private void SetControlPanelSize()
|
||||
{
|
||||
DataRow item = BaseModuleImpl.GetControlParentSize(this.SysModel.FormKey);
|
||||
if (item != null)
|
||||
{
|
||||
int otherHeight = 80;
|
||||
bool topVisible = false;
|
||||
|
||||
if ("lskj.pubadd.dll".Equals((this.SysModel.MenuAddName).ToLower()) ||
|
||||
"lskj.pubadd2.dll".Equals((this.SysModel.MenuAddName).ToLower()))
|
||||
{
|
||||
otherHeight = 130;
|
||||
topVisible = true;
|
||||
}
|
||||
//this.ModuleAddControl.SetTopPanelVisible(topVisible);//2023-9-1 把这个判断放入modulePanelEx初始化中
|
||||
|
||||
this.Width = Convert.ToInt32(item["width"] + "");
|
||||
|
||||
int height = this.ModuleAddControl.ControlHeight + this.ModuleAddControl.OperatePanelControlObj.Height + this.ModuleAddControl.SpeciesPanelControlObj.Height;
|
||||
//if (Convert.ToInt32(item["height"] + "") < height)
|
||||
//{
|
||||
// height = Convert.ToInt32(item["height"] + "");
|
||||
// this.ModuleAddControl.plMainControlObj.VerticalScroll.Visible = true;
|
||||
//}
|
||||
height = Convert.ToInt32(item["height"] + "") > height ? height : Convert.ToInt32(item["height"] + "");//如果控件高度小于设置高度,以实际高度为准
|
||||
this.Height = height + otherHeight;
|
||||
|
||||
//this.Height = Convert.ToInt32(item["height"] + "") + otherHeight;
|
||||
|
||||
if (this.Left < 0) this.Left = 0;
|
||||
if (this.Top < 0) this.Top = 0;
|
||||
this.Left = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2;
|
||||
this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2;
|
||||
if ((this.Width > Screen.PrimaryScreen.WorkingArea.Width || (this.Height > Screen.PrimaryScreen.WorkingArea.Height)))
|
||||
{
|
||||
int screenHeight = Screen.PrimaryScreen.WorkingArea.Height;
|
||||
screenHeight = screenHeight - 40;
|
||||
this.Height = screenHeight;
|
||||
this.Top = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2;
|
||||
isAutoScroll = true;
|
||||
ModuleAddControl.plMainControlObj.AutoScroll = isAutoScroll;
|
||||
}
|
||||
else {
|
||||
this.ModuleAddControl.plMainControlObj.AutoScroll = true;
|
||||
this.ModuleAddControl.plMainControlObj.HorizontalScroll.Visible = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:初始化多标签</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-10 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void CreateTabDetail()
|
||||
{
|
||||
this.Invoke((EventHandler)delegate
|
||||
{
|
||||
DataTable details = BaseModuleImpl.GetBaseAddTabDetail(Model.ModuleCode);
|
||||
bool isInside = false;
|
||||
|
||||
foreach (DataRow item in details.Rows)
|
||||
{
|
||||
XtraTabPage tabPage = new XtraTabPage();
|
||||
GridDetailModel detailModel = new GridDetailModel(item, null, GridCustomColumnStruct.BaseDetailGridView);
|
||||
if (!string.IsNullOrEmpty(detailModel.UnionModule))
|
||||
{
|
||||
ModuleModel moduleModel = new ModuleModel(MainImpl.GetSystemdllTab(detailModel.UnionModule));
|
||||
if (string.IsNullOrWhiteSpace(moduleModel.FormKey))
|
||||
{
|
||||
MessageUtil.Show(detailModel.DetailName + "模块配置错误");
|
||||
return;
|
||||
}
|
||||
detailModel.DetailSql = moduleModel.MenuSql;
|
||||
}
|
||||
detailModel.GridColumns = ReportImpl.GetReportDetailColumns(Model.ModuleCode, item["id"] + "");
|
||||
tabPage.Text = detailModel.DetailName;
|
||||
tabPage.Tag = detailModel;
|
||||
if (ModuleAddControl.plMainControlObj.Tag is XtraTabControl)
|
||||
{
|
||||
XtraTabControl xtr = ModuleAddControl.plMainControlObj.Tag as XtraTabControl;
|
||||
xtr.TabPages.Add(tabPage);
|
||||
isInside = true;
|
||||
xtr.SelectedPageChanged += new DevExpress.XtraTab.TabPageChangedEventHandler(this.OnSelectedPageChanged);
|
||||
xtr.SelectedPageChanging += new DevExpress.XtraTab.TabPageChangingEventHandler(this.OnSelectedPageChanging);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.xtcControl.TabPages.Add(tabPage);
|
||||
}
|
||||
}
|
||||
|
||||
this.xtcControl.ShowTabHeader = details.Rows.Count > 0 && !isInside ? DefaultBoolean.True : DefaultBoolean.False;
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:创建控件</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-03 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
private void CreateControlLocation()
|
||||
{
|
||||
this.ModuleAddControl.SavaState = Model.SaveState.Equals("1");
|
||||
this.ModuleAddControl.IsView = Model.IsView;
|
||||
this.ModuleAddControl.ParentKey = Model.ParentKey;
|
||||
this.ModuleAddControl.ParentValue = Model.ParentValue;
|
||||
this.ModuleAddControl.PrimaryKey = this.SysModel.ParmaryKey;// BaseImpl.GetBasePrimaryKey(Model.ModuleCode); 和上方获取主键执行方法相同,直接取上方的值
|
||||
this.ModuleAddControl.UnionKey = Model.UnionKey;
|
||||
this.ModuleAddControl.UnionValue = Model.UnionValue;
|
||||
this.ModuleAddControl.PrimaryValue = Model.ObjectId;
|
||||
this.ModuleAddControl.ControlSql = Model.ControlSql;
|
||||
this.ModuleAddControl.OnCloseCallback += new EventHandler(OnCloseCallback);
|
||||
this.ModuleAddControl.SearchObject = Model.SearchObject;
|
||||
this.ModuleAddControl.InitializeControl(SysModel, Model, isAutoScroll);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:关闭按钮回调</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-08 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
protected void OnCloseCallback(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
this.DialogResult = DialogResult.OK;
|
||||
this.Close();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:查询条件执行前</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-10 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The sender.</param>
|
||||
/// <param name="e">The e.</param>
|
||||
protected void OnSearchBefore(object sender, SearchArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
XtraTabPage tabPage = xtcControl.SelectedTabPage;
|
||||
if (ModuleAddControl.plMainControlObj.Tag is XtraTabControl)
|
||||
{
|
||||
XtraTabControl xtr = ModuleAddControl.plMainControlObj.Tag as XtraTabControl;
|
||||
tabPage = xtr.SelectedTabPage;
|
||||
}
|
||||
if (tabPage != null)
|
||||
{
|
||||
ModuleGridEx moduleGrid = tabPage.Tag as ModuleGridEx;
|
||||
GridDetailModel detailModel = moduleGrid.Tag as GridDetailModel;
|
||||
|
||||
moduleGrid.SearchObj.SearchGrid(detailModel.DetailSql + string.Format(" and {0}='{1}'", moduleGrid.DetailKeyField, moduleGrid.UnionValue));
|
||||
}
|
||||
e.Continue = false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:查询条件执行后</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2017-11-10 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
protected void OnSearchAfter(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
XtraTabPage tabPage = xtcControl.SelectedTabPage;
|
||||
if (ModuleAddControl.plMainControlObj.Tag is XtraTabControl)
|
||||
{
|
||||
XtraTabControl xtr = ModuleAddControl.plMainControlObj.Tag as XtraTabControl;
|
||||
tabPage = xtr.SelectedTabPage;
|
||||
}
|
||||
if (tabPage != null)
|
||||
{
|
||||
if (tabPage.Tag is ModuleGridEx)
|
||||
{
|
||||
ModuleGridEx moduleGrid = tabPage.Tag as ModuleGridEx;
|
||||
GridDetailModel detailModel = moduleGrid.Tag as GridDetailModel;
|
||||
tabPage.Text = detailModel.DetailName + "(" + moduleGrid.SearchObj.GridRowCount + "条)";
|
||||
}
|
||||
else if (tabPage.Tag is GridControlEx)
|
||||
{
|
||||
|
||||
GridControlEx moduleGrid = tabPage.Tag as GridControlEx;
|
||||
GridDetailModel detailModel = moduleGrid.Tag as GridDetailModel;
|
||||
tabPage.Text = detailModel.DetailName + "(" + moduleGrid.DataRowCount() + "条)";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:切换选项卡</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-04-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="TabPageChangingEventArgs"/> instance containing the event data.</param>
|
||||
protected void OnSelectedPageChanging(object sender, TabPageChangingEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
XtraTabPage page = e.Page;
|
||||
if (page != null)
|
||||
{
|
||||
if (e.PrevPage == xtcControl.TabPages[0] && string.IsNullOrEmpty(this.ModuleAddControl.PrimaryValue))
|
||||
{
|
||||
MessageUtil.Show(ResourceKeys.BeforeSaveData);
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:切换标签刷新主键值</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-04-09 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="TabPageChangedEventArgs"/> instance containing the event data.</param>
|
||||
protected void OnSelectedPageChanged(object sender, TabPageChangedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
//XtraTabPage page = e.Page;
|
||||
//if (page != null && page.Tag is ModuleGridEx)
|
||||
//{
|
||||
// ModuleGridEx gridEx = page.Tag as ModuleGridEx;
|
||||
// GridDetailModel detailModel = gridEx.Tag as GridDetailModel;
|
||||
|
||||
// gridEx.SearchObj.SearchGrid();
|
||||
// gridEx.UnionValue = this.ModuleAddControl.PrimaryValue;
|
||||
|
||||
// page.Text = detailModel.DetailName + "(" + gridEx.SearchObj.GridRowCount + "条)";
|
||||
//}
|
||||
//if (xtcControl.SelectedTabPageIndex==0) return;
|
||||
XtraTabPage tabPage = e.Page;
|
||||
ModuleAddControl.OperatePanelControlObj.Visible = true;
|
||||
//XtraTabPage tabPage = this.xtcControl.SelectedTabPage;
|
||||
if (tabPage.Tag is ModuleGridEx) ModuleAddControl.OperatePanelControlObj.Visible = false;
|
||||
if (!(tabPage.Tag is GridDetailModel)) return;
|
||||
ModuleAddControl.OperatePanelControlObj.Visible = false;
|
||||
if (tabPage.Controls.Count == 0)
|
||||
{
|
||||
|
||||
GridDetailModel detailModel = tabPage.Tag as GridDetailModel;
|
||||
ModuleModel moduleModel = null;
|
||||
DynamicAddModel addModel = new DynamicAddModel(new string[] {
|
||||
detailModel.DetailName,
|
||||
ERPInfo.Instance.UserId,
|
||||
ERPInfo.Instance.UserName,
|
||||
"1",detailModel.UnionModule,"","",""
|
||||
});
|
||||
if (string.IsNullOrEmpty(detailModel.UnionModule))
|
||||
{
|
||||
PanelControl plBottom = new PanelControl();
|
||||
plBottom.Dock = DockStyle.Bottom;
|
||||
plBottom.Visible = false;
|
||||
PanelControl plMain = new PanelControl();
|
||||
plMain.Dock = DockStyle.Fill;
|
||||
GridControlEx gridEx = detailModel.AutoMultiHeader == 1 ? new BandedGridControlEx() : new GridControlEx();
|
||||
gridEx.Dock = DockStyle.Fill;
|
||||
gridEx.Tag = detailModel;
|
||||
gridEx.Parent = plMain;
|
||||
gridEx.Model = this.Model;
|
||||
gridEx.SetReadOnlyColumns(detailModel.GridColumns, detailModel.GridCustomColumnKey);
|
||||
//gridEx.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(model.FormKey), this.Model, OnGridViewRightCallBack);
|
||||
//gridEx.SetGridRowColors(BaseModuleImpl.GetBaseGridRowColors(model.FormKey));
|
||||
|
||||
gridEx.SetGridRightMenus(BaseModuleImpl.GetBaseGridRightMenus(detailModel.FormKey), this.Model);
|
||||
gridEx.SetGridRowColors(BaseModuleImpl.GetBaseGridRowColors(detailModel.FormKey));
|
||||
if (detailModel.IsCheck == 1)//加载复选框
|
||||
{
|
||||
GridDragGrid.GridAddCheckBox(gridEx.GridView);
|
||||
}
|
||||
// 加载配置查询条件
|
||||
if (Model != null && Model.IsDetailSearch)
|
||||
{
|
||||
plBottom.Visible = true;
|
||||
MyControl searchObj = new MyControl(detailModel.DetailSql, gridEx);
|
||||
plBottom.Height = searchObj.InitSearchControl(BaseModuleImpl.GetCustomQueryFields(detailModel.FormKey), plBottom);
|
||||
}
|
||||
tabPage.Tag = gridEx;
|
||||
tabPage.Controls.AddRange(new PanelControl[] { plBottom, plMain });
|
||||
if (detailModel.AutoRefresh)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(this.ModuleAddControl.ParentKey))
|
||||
{
|
||||
string codeSql = "select";
|
||||
codeSql += string.Format(" '{0}' as {1}", this.ModuleAddControl.PrimaryValue, this.ModuleAddControl.PrimaryKey);
|
||||
gridEx.SetGridViewDataSource(SqlHelper.ExecuteDataTable(ReplaceHelper.ReplaceRowParam(BaseImpl.GetDataRowResult(codeSql), ReplaceHelper.ReplaceWhereCond(detailModel.DetailSql))));
|
||||
}
|
||||
// 自动刷新
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
moduleModel = new ModuleModel(MainImpl.GetSystemdllTab(detailModel.UnionModule));
|
||||
ModuleGridEx moduleGrid = new ModuleGridEx();
|
||||
moduleGrid.IsDetail = true;
|
||||
moduleGrid.Dock = DockStyle.Fill;
|
||||
moduleGrid.Tag = detailModel;
|
||||
moduleGrid.ParentKeyField = string.IsNullOrEmpty(detailModel.UnionParentField) ? SysModel.ParmaryKey : detailModel.UnionParentField;
|
||||
|
||||
//直接在控件数据源中取值,控件可能是禁显状态(没用控件获取不到值)
|
||||
if (!string.IsNullOrWhiteSpace(moduleGrid.ParentKeyField) &&this.ModuleAddControl.ControlObj.CurrentData.Table.Columns.Contains(moduleGrid.ParentKeyField))
|
||||
{
|
||||
moduleGrid.ParentKeyValue = moduleGrid.UnionValue = this.ModuleAddControl.ControlObj.CurrentData[moduleGrid.ParentKeyField] + "";
|
||||
}
|
||||
|
||||
//moduleGrid.ParentKeyValue = this.ModuleAddControl.ControlObj.GetControlValue(moduleGrid.ParentKeyField);
|
||||
moduleGrid.DetailKeyField = detailModel.UnionValue;
|
||||
moduleGrid.UnionKey = detailModel.UnionValue;
|
||||
//moduleGrid.UnionValue = this.ModuleAddControl.ControlObj.GetControlValue(moduleGrid.ParentKeyField); //Model.ObjectId;
|
||||
moduleGrid.SearchControlSql = Model.ControlSql;
|
||||
moduleGrid.InitializeControl(moduleModel, addModel);
|
||||
moduleGrid.SearchObj.OnSearchBeforeCallBack += new SearchEventHandler(OnSearchBefore);
|
||||
moduleGrid.SearchObj.OnSearchAfterCallBack += new EventHandler(OnSearchAfter);
|
||||
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(moduleGrid);
|
||||
tabPage.Controls.Add(moduleGrid);
|
||||
tabPage.Tag = moduleGrid;
|
||||
if (detailModel.AutoRefresh)
|
||||
{
|
||||
moduleGrid.SearchObj.OnDataSourceBindCallBack += new EventHandler(OnMainSearchDataSourceBindCallBack);
|
||||
// 自动刷新
|
||||
//moduleGrid.SearchObj.SearchGrid(ReplaceHelper.ReplaceWhereCond(moduleModel.MenuSql) + string.Format(" and {0}='{1}'", moduleGrid.DetailKeyField, moduleGrid.UnionValue));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:查询条件绑定完成查询数据</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期: </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The sender.</param>
|
||||
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
|
||||
protected void OnMainSearchDataSourceBindCallBack(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
MyControl searchobj = sender as MyControl;
|
||||
//if (!string.IsNullOrEmpty(this.SysModel.CustomColumnSQL))
|
||||
//{
|
||||
// BaseImpl.ExecSqlValue(searchobj.ReplaceControlValue(this.SysModel.CustomColumnSQL));
|
||||
//}
|
||||
searchobj.SearchGrid();
|
||||
OnSearchAfter(null,null);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加保存成功后执行
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void OnAddRecordCallBack(object sender, EventArgs e)
|
||||
{
|
||||
FormDialogModel dialogModel = new FormDialogModel()
|
||||
{
|
||||
DialogDllName = "Lskj.PubAdd.dll",
|
||||
PubDialogType = DialogType.PubAddRecord,
|
||||
ReturnTag = ModuleAddControl.ControlObj
|
||||
};
|
||||
this.Tag = dialogModel;
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:窗口关闭</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2019-07-15 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="FormClosedEventArgs"/> instance containing the event data.</param>
|
||||
protected void OnFormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
if (this.ModuleAddControl.ControlObj != null)
|
||||
{
|
||||
this.ModuleAddControl.ControlObj.ReleaseImageResources();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:窗口关闭之前</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2019-07-15 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="FormClosingEventArgs"/> instance containing the event data.</param>
|
||||
protected void OnFormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (this.ModuleAddControl != null && this.ModuleAddControl.IsCard)
|
||||
{
|
||||
this.ModuleAddControl.CloseIDCardThread();
|
||||
}
|
||||
this.DialogResult = DialogResult.OK;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
}
|
||||
protected override CreateParams CreateParams
|
||||
{
|
||||
get
|
||||
{
|
||||
CreateParams cp = base.CreateParams;
|
||||
cp.ExStyle |= 0x02000000;
|
||||
return cp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{35BE59B2-06CE-441B-8166-948647DA3815}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Lskj.PubAdd</RootNamespace>
|
||||
<AssemblyName>Lskj.PubAdd</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>..\..\Debug\Lib\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DocumentationFile>..\..\Debug\AllMethodXml\Lskj.PubAdd.XML</DocumentationFile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\Release\Lib\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DevExpress.Data.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Printing.v15.2.Core, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.Utils.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraBars.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
</Reference>
|
||||
<Reference Include="DevExpress.XtraEditors.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraGrid.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraLayout.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="DevExpress.XtraPrinting.v15.2, Version=15.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DllBaseClass.cs" />
|
||||
<Compile Include="FrmMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmMain.Designer.cs">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Lskj.Business\Lskj.Business.csproj">
|
||||
<Project>{7EAFCCC2-A18F-49E9-85C6-A984966CFD01}</Project>
|
||||
<Name>Lskj.Business</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Lskj.Control\Lskj.Control.csproj">
|
||||
<Project>{447CDC40-659F-4CCA-9ED6-8E818B4CF8BF}</Project>
|
||||
<Name>Lskj.Control</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Lskj.Core\Lskj.Core.csproj">
|
||||
<Project>{2a1be6ac-1077-491b-a754-c5822fe8121e}</Project>
|
||||
<Name>Lskj.Core</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Lskj.Data\Lskj.Data.csproj">
|
||||
<Project>{308B9B18-9BE2-495C-9C64-EED81D567813}</Project>
|
||||
<Name>Lskj.Data</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Lskj.Model\Lskj.Model.csproj">
|
||||
<Project>{52BC40E0-C0C6-4F78-996B-CAE028D209CA}</Project>
|
||||
<Name>Lskj.Model</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Lskj.Util\Lskj.Util.csproj">
|
||||
<Project>{A51BF642-6543-4DE3-8948-83F558B72BD4}</Project>
|
||||
<Name>Lskj.Util</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="FrmMain.resx">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 有关程序集的常规信息通过以下
|
||||
// 特性集控制。更改这些特性值可修改
|
||||
// 与程序集关联的信息。
|
||||
[assembly: AssemblyTitle("Lskj.PubAdd")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("Lskj.PubAdd")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// 将 ComVisible 设置为 false 使此程序集中的类型
|
||||
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
|
||||
// 则将该类型上的 ComVisible 特性设置为 true。
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
|
||||
[assembly: Guid("ea26c250-0b6e-44a2-b50b-9275cb0390e5")]
|
||||
|
||||
// 程序集的版本信息由下面四个值组成:
|
||||
//
|
||||
// 主版本
|
||||
// 次版本
|
||||
// 内部版本号
|
||||
// 修订号
|
||||
//
|
||||
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
|
||||
// 方法是按如下所示使用“*”:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="NPOI" publicKeyToken="0df73ec7942b34e1" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.1.3.1" newVersion="2.1.3.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.6.10.0" newVersion="2.6.10.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Spire.XLS" publicKeyToken="663f351905198cb3" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-10.3.8.0" newVersion="10.3.8.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Spire.Presentation" publicKeyToken="663f351905198cb3" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.3.6.0" newVersion="5.3.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Spire.Doc" publicKeyToken="663f351905198cb3" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.3.15.0" newVersion="8.3.15.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Reference in New Issue
Block a user