diff --git a/插件库/Lskj.Control/FrmImport.cs b/插件库/Lskj.Control/FrmImport.cs index 19f63d5..412e393 100644 --- a/插件库/Lskj.Control/FrmImport.cs +++ b/插件库/Lskj.Control/FrmImport.cs @@ -98,6 +98,14 @@ namespace Lskj.Control /// 源表格 /// private GridControlEx _gridEx; + /// + /// 导入返回控件名 + /// + public string ImportReturnName = string.Empty; + /// + /// 导入返回控件值 + /// + public string ImportReturnValue = string.Empty; public FrmImport() : this("", "", "", null, "", "", "", "") @@ -378,14 +386,40 @@ namespace Lskj.Control failedData.Columns.Add("import_errormsg"); if (!failedData.Columns.Contains(this._importFlag)) failedData.Columns.Add(this._importFlag); + if (!string.IsNullOrWhiteSpace(this.ImportReturnName)) + { + if (!failedData.Columns.Contains(this.ImportReturnName)) + failedData.Columns.Add(this.ImportReturnName); + } for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i][_importFlag] = "1"; + if (!string.IsNullOrWhiteSpace(this.ImportReturnName)) + { + dt.Rows[i][ImportReturnName] = ImportReturnValue; + } } + //所有导入的主键集合 + List parmaryKeys= new List(); + //根据全表字段类型进行默认填充 int currRow = 0; foreach (DataRow dr in dt.Rows) { + if (this.SysModel.ImportPrimarykeyVerify && !string.IsNullOrWhiteSpace(_parmaryKey) ) + { + if (parmaryKeys.Contains(dr[_parmaryKey])) + { + continue; + } + else + { + parmaryKeys.Add(dr[_parmaryKey] + ""); + } + + } + + rowNum = (currRow + 1) + ""; DataRow tmpRow = datatb.NewRow(); foreach (DataColumn dc in datatb.Columns) @@ -1192,34 +1226,3 @@ namespace Lskj.Control string[] fields = model.UnionFields.Trim(',').Split(','); DataRow rowResult = BaseImpl.GetDataRowResult(unionValues); if (rowResult != null) - { - for (int i = 0; i < fields.Length; i++) - { - string field = fields[i]; - string value = rowResult.Table.Columns.Contains(field) ? rowResult[field] + "" : null; - rowItem[field] = value; - } - } - else - { - // 设置为空 - for (int i = 0; i < fields.Length; i++) - { - string field = fields[i]; - rowItem[field] = DBNull.Value; - } - } - } - catch (Exception ex) - { - LogHelper.Instance.WriteError(ex); - LogUtil.WriteError("计算列关联字段--错误-->" + unionValues, ex); - } - } - } - - - - - } -} \ No newline at end of file diff --git a/插件库/Lskj.Control/Model/ControlModel.cs b/插件库/Lskj.Control/Model/ControlModel.cs index e088b81..5496b46 100644 --- a/插件库/Lskj.Control/Model/ControlModel.cs +++ b/插件库/Lskj.Control/Model/ControlModel.cs @@ -281,4 +281,7 @@ namespace Lskj.Control.Model /// /// The LookUpWidth. public int LookUpWidth { get; set; } - \ No newline at end of file + /// + ///下拉列宽度,逗号分隔一一对应 + /// + /// The LookUpFieldsWidth. + /// 获取导入返回控件的名称 + /// + /// + public string getImportReturnValueControl() + { + + foreach (System.Windows.Forms.Control item in _parentPanel.Controls) + { + if (item is BaseUserControl) + { + var baseControl = item as BaseUserControl; + if(baseControl.Model.ImportReturnValue) return baseControl.Model.FieldName; + } + + } + return ""; + } @@ -3741,6 +3759,7 @@ namespace Lskj.Control.Model model.SplicingConditions = item.Table.Columns.Contains("SplicingConditions") ? item["SplicingConditions"] + "" : ""; model.IsRadio = item.Table.Columns.Contains("IsRadio") && !string.IsNullOrWhiteSpace(item["IsRadio"] + "") ? "1".Equals(item["IsRadio"] + "") : false; model.ScanAfterEmpty = item.Table.Columns.Contains("ScanAfterEmpty") && !string.IsNullOrWhiteSpace(item["ScanAfterEmpty"] + "") ? "1".Equals(item["ScanAfterEmpty"] + "") : false; + model.ImportReturnValue = item.Table.Columns.Contains("ImportReturnValue") && !string.IsNullOrWhiteSpace(item["ImportReturnValue"] + "") ? "1".Equals(item["ImportReturnValue"] + "") : false; return model; } /// diff --git a/插件库/Lskj.Control/ModuleGridEx.cs b/插件库/Lskj.Control/ModuleGridEx.cs index 5a0fd8d..b58afd5 100644 --- a/插件库/Lskj.Control/ModuleGridEx.cs +++ b/插件库/Lskj.Control/ModuleGridEx.cs @@ -3052,14 +3052,33 @@ namespace Lskj.Control leftValue = this.ParentKeyValue; } + string ImportReturnName= this.SearchObj.getImportReturnValueControl(); + string ImportReturnValue = string.Empty; + if (!string.IsNullOrWhiteSpace(ImportReturnName)) + { + BaseUserControl baseUserControl=this.SearchObj.FindControl(ImportReturnName); + ImportReturnValue = BaseImpl.GetDefaultValue(baseUserControl.Model.Default); + this.SearchObj.SetControlValue(ImportReturnName, ImportReturnValue); + } + FrmImport import = new FrmImport(this.SysModel.MenuTable, this.Model.ModuleCode, _parmaryKey, this.gcMain, this.SysModel.PrefixKey, leftField, leftValue, this.Model.FormText, this.SysModel.ConcatenatedPrefix); import.ParentGridEx = this.ParentGridEx; + import.ImportReturnName = ImportReturnName; + import.ImportReturnValue = ImportReturnValue; DialogResult result = import.ShowDialog(); if (result == DialogResult.OK) { // 刷新数据 - this.SearchObj.SearchLastGrid(); + if (!string.IsNullOrWhiteSpace(ImportReturnName)) + { + this.SearchObj.SearchGrid(); + } + else + { + this.SearchObj.SearchLastGrid(); + } + if (!string.IsNullOrWhiteSpace(this.SysModel.afterimportSql)) { diff --git a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs index 55b5276..929820d 100644 --- a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs +++ b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp.cs @@ -126,7 +126,7 @@ namespace Lskj.Control.MultiModelLookUp /// public bool SingleChoiceMode; /// - /// 表格列根据配置加载(默认是加载sql数据源中的中文列,目前只支持单选模式) + /// 表格列根据配置加载(默认是加载sql数据源中的中文列,目前只支持单选模式) 2025-03-06 改成单选默认根据配置加载 /// public bool ConfigureColumnMode = false; /// @@ -209,6 +209,17 @@ namespace Lskj.Control.MultiModelLookUp this.Resize += new System.EventHandler(maximization); this.splitMain_Right.SplitterMoved += new EventHandler(PositionChange); } + //右键 + //DataTable dt = BaseModuleImpl.GetBaseGridRightMenus(this.UnionModuleCodel); + //string[] obj = new string[]{ + // "", + // ERPInfo.Instance.UserId, + // ERPInfo.Instance.UserName, + // "3", + // this.UnionModuleCodel, + //}; ; + //DynamicModel dynamicModel = new DynamicModel(obj); + //this.gcMain.SetGridRightMenus(dt, dynamicModel, null, this.SearchObj, null); this.gcDetail.GridView.OptionsSelection.EnableAppearanceFocusedCell = false; @@ -368,7 +379,7 @@ namespace Lskj.Control.MultiModelLookUp /// private void SetReadOnlyColumns() { - if (this.ConfigureColumnMode && SingleChoiceMode) + if ( SingleChoiceMode) //this.ConfigureColumnMode && { DataTable _gridColumns = BaseModuleImpl.GetBaseGridColumns(this.UnionModuleCodel); this.gcMain.SetReadOnlyColumns(_gridColumns, GridCustomColumnStruct.BaseMainGridView + this.SysModel.FormKey); diff --git a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs index e9154ea..f301785 100644 --- a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs +++ b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs @@ -648,7 +648,7 @@ namespace Lskj.Control.MultiModelLookUp LeftGridEx.GridView.SelectRow(0); } - this.DataSource = BaseImpl.GetDataTableResult(this.NewSourceSQL + "and 1<>1"); + this.DataSource = BaseImpl.GetDataTableResult(this.NewSourceSQL + " and 1<>1"); this.gcDetail.GridControl.DataSource = this.gcMain.gridControl.DataSourceTable().Clone(); //创建表格列 if (isFirst)