diff --git a/插件库/Lskj.Control/AuditPanelEx.cs b/插件库/Lskj.Control/AuditPanelEx.cs
index f9ff2e4..f8e8ac4 100644
--- a/插件库/Lskj.Control/AuditPanelEx.cs
+++ b/插件库/Lskj.Control/AuditPanelEx.cs
@@ -976,9 +976,14 @@ namespace Lskj.Control
{
ApiHelper apiHelper = new ApiHelper(this.SysModel.ModuleCode, billDocumentId, this.PanelCondVisible ? this.BaseAccraditModelObj.DefaultParmaryField : string.IsNullOrEmpty(this.BaseAccraditModelObj.KeyField + "") ? this.BaseAccraditModelObj.TmpParmaryField : this.BaseAccraditModelObj.KeyField, this.BaseAccraditModelObj.BillTable, 0);
apiHelper.OnEvent(Interface.Api.OperateEvent.BeforeModuleAuditStateChange, Interface.Api.ActionType.AuditBack);
- if (!string.IsNullOrEmpty(apiHelper.apiResutMsg))
+ //if (!string.IsNullOrEmpty(apiHelper.apiResutMsg))
+ //{
+ // DialogResult dialogResult = MessageUtil.Show(ResourceKeys.ForcedFail + "\r\n" + apiHelper.apiResutMsg);
+ // return;
+ //}
+ if (!apiHelper.apiHandler.GetApiSuccess(apiHelper.apiHandlerModels))
{
- DialogResult dialogResult = MessageUtil.Show(ResourceKeys.ForcedFail + "\r\n" + apiHelper.apiResutMsg);
+ MessageUtil.Show(ResourceKeys.ForcedFail + "\r\n" + apiHelper.apiResutMsg);
return;
}
}
@@ -1005,8 +1010,13 @@ namespace Lskj.Control
{
ApiHelper apiHelper = new ApiHelper(this.SysModel.ModuleCode, billDocumentId, this.PanelCondVisible ? this.BaseAccraditModelObj.DefaultParmaryField : string.IsNullOrEmpty(this.BaseAccraditModelObj.KeyField + "") ? this.BaseAccraditModelObj.TmpParmaryField : this.BaseAccraditModelObj.KeyField, this.BaseAccraditModelObj.BillTable, 0);
apiHelper.OnEvent(Interface.Api.OperateEvent.AfterModuleAuditStateChange, Interface.Api.ActionType.AuditBack);
- if (!string.IsNullOrEmpty(apiHelper.apiResutMsg))
+ //if (!string.IsNullOrEmpty(apiHelper.apiResutMsg))
+ // MessageUtil.Show(apiHelper.apiResutMsg);
+
+ if (!apiHelper.apiHandler.GetApiSuccess(apiHelper.apiHandlerModels))
+ {
MessageUtil.Show(apiHelper.apiResutMsg);
+ }
}
#endregion
if (tag == "1")
@@ -1874,23 +1884,4 @@ namespace Lskj.Control
string confirmOpers = "",
bool ret = false,
int returnd = 0,
- int selectConfirmFlag = 0,
- bool IsStepOver = false,
- int comfirm = 0
- )
- {
- string result = BaseAuditImpl.Audit(out nextSelectStepCode, out nextSelectStepOper, out msgText, sysModel, stepCode, billDocumentId, message, storedName, accractFlag, remindSelect, remarkText, remindOpers, confirmOpers, ret, returnd, selectConfirmFlag, IsStepOver, comfirm);
-
- if ("9".Equals(result))
- {
- // 继续执行保存
- //if (string.IsNullOrWhiteSpace(msgText)) msgText = "失败";
- if (MessageUtil.Show(msgText, MessageBoxButtons.YesNo) == DialogResult.Yes)
- result = AuditMethod(out nextSelectStepCode, out nextSelectStepOper, out msgText, sysModel, stepCode, billDocumentId, message, storedName, accractFlag, remindSelect, remarkText, remindOpers, confirmOpers, ret, returnd, selectConfirmFlag, IsStepOver, 1);
- }
-
- return result;
- }
-
- }
-}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/插件库/Lskj.Control/AutoGridLookUp/AutoGridLookUp.cs b/插件库/Lskj.Control/AutoGridLookUp/AutoGridLookUp.cs
index c706c38..12e91b5 100644
--- a/插件库/Lskj.Control/AutoGridLookUp/AutoGridLookUp.cs
+++ b/插件库/Lskj.Control/AutoGridLookUp/AutoGridLookUp.cs
@@ -405,7 +405,7 @@ namespace Lskj.Control
///
private void CalcPopupLocation()
{
- try
+ try
{
this._popup.Parent = this.GetParent(this.Parent);
@@ -468,7 +468,7 @@ namespace Lskj.Control
string Message = ErrorMessage.PromptErrorMessage(ex);
throw;
}
-
+
}
///
/// 说明:
@@ -1108,48 +1108,57 @@ namespace Lskj.Control
{
this.Invoke((EventHandler)delegate
{
- DataTable table = this.Popup.GridControlObj.DataSourceTable();
- int iIndexWidth = popupObj.GridViewObj.IndicatorWidth;
- int iOtherWidth = 0;
- int columnWidthIndex = 0;
- foreach (GridColumn col in this.Popup.GridViewObj.Columns)
+ try
{
- if (col.FieldName.Substring(0, 1) != "_")
+ DataTable table = this.Popup.GridControlObj.DataSourceTable();
+ int iIndexWidth = popupObj.GridViewObj.IndicatorWidth;
+ int iOtherWidth = 0;
+ int columnWidthIndex = 0;
+ foreach (GridColumn col in this.Popup.GridViewObj.Columns)
{
- int width = 0;
- if (columnWidthIndex < columnsWidth.Length)
+ if (col.FieldName.Substring(0, 1) != "_")
{
- string widthStr = columnsWidth[columnWidthIndex];
- width = int.TryParse(widthStr, out width) ? width : col.GetBestWidth();
- columnWidthIndex += 1;
+ int width = 0;
+ if (columnWidthIndex < columnsWidth.Length)
+ {
+ string widthStr = columnsWidth[columnWidthIndex];
+ width = int.TryParse(widthStr, out width) ? width : col.GetBestWidth();
+ columnWidthIndex += 1;
+ }
+ else
+ {
+ width = col.GetBestWidth();
+ }
+ col.Width = width;
+ iOtherWidth += width;
}
- else
+ }
+ int popupWidth = iIndexWidth + iOtherWidth + 40;
+ if (Model.LookUpWidth > 0)
+ {
+ popupWidth = iIndexWidth + Model.LookUpWidth + 25;
+ }
+ if (popupWidth != popupObj.Width)
+ {
+ if (popupWidth > _maxPopupWidth)
{
- width = col.GetBestWidth();
+ popupWidth = _maxPopupWidth;
+ }
+ else if (popupWidth < _minPopupWidth)
+ {
+ popupWidth = _minPopupWidth;
}
- col.Width = width;
- iOtherWidth += width;
}
+ popupObj.Width = popupWidth;
+ this.CalcPopupLocation();
+ this._Handed = false;
}
- int popupWidth = iIndexWidth + iOtherWidth + 40;
- if (Model.LookUpWidth > 0)
+ catch (Exception ex)
{
- popupWidth = iIndexWidth + Model.LookUpWidth + 25;
+ string Message = ErrorMessage.PromptErrorMessage(ex);
+ throw;
}
- if (popupWidth != popupObj.Width)
- {
- if (popupWidth > _maxPopupWidth)
- {
- popupWidth = _maxPopupWidth;
- }
- else if (popupWidth < _minPopupWidth)
- {
- popupWidth = _minPopupWidth;
- }
- }
- popupObj.Width = popupWidth;
- this.CalcPopupLocation();
- this._Handed = false;
+
});
}
}
@@ -1198,9 +1207,9 @@ namespace Lskj.Control
iValueWidth = iValueWidth < 50 ? 50 : iValueWidth + 10;
iTextWidth = iTextWidth < 50 ? 50 : iTextWidth + 10;
- if(popupObj.GridViewObj.Columns.ColumnByFieldName(ValueMember)!=null) popupObj.GridViewObj.Columns[ValueMember].Width = iValueWidth;
+ if (popupObj.GridViewObj.Columns.ColumnByFieldName(ValueMember) != null) popupObj.GridViewObj.Columns[ValueMember].Width = iValueWidth;
- if(popupObj.GridViewObj.Columns.ColumnByFieldName(TextMember) != null) popupObj.GridViewObj.Columns[TextMember].Width = iTextWidth;
+ if (popupObj.GridViewObj.Columns.ColumnByFieldName(TextMember) != null) popupObj.GridViewObj.Columns[TextMember].Width = iTextWidth;
if (hasReamrkField)
{
@@ -1227,7 +1236,7 @@ namespace Lskj.Control
this.CalcPopupLocation();
this._Handed = false;
}
- catch (Exception ex)
+ catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
throw;
@@ -1240,7 +1249,7 @@ namespace Lskj.Control
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
- throw;
+ //throw;
}
}
@@ -1465,13 +1474,6 @@ namespace Lskj.Control
///
private void AutoGridLookUp_TextChanged(object sender, EventArgs e)
{
- //if (!string.IsNullOrWhiteSpace(this.Text))
- //{
- // if (SystemInfo.Instance.TrimWhiteSpace)
- // this.HandPopupSqlValueNew(this.Text.Trim());//使用原来的方法
- // else
- // this.HandPopupSqlValueNew(this.Text);
- //}
if (PopShowFlag)
{
if (SystemInfo.Instance.TrimWhiteSpace)
diff --git a/插件库/Lskj.Control/BandedGridControlEx.cs b/插件库/Lskj.Control/BandedGridControlEx.cs
index 0c254bc..c1636db 100644
--- a/插件库/Lskj.Control/BandedGridControlEx.cs
+++ b/插件库/Lskj.Control/BandedGridControlEx.cs
@@ -1181,15 +1181,37 @@ namespace Lskj.Control
{
if (model.isSumMerge && !string.IsNullOrEmpty(e.FieldValue + ""))
{
- if (model.CanMerge && BeforeClass == Convert.ToDecimal(e.FieldValue))
+
+ if (!string.IsNullOrEmpty(model.MergeGroup))
{
- BeforeClass = Convert.ToDecimal(e.FieldValue);
+ bool isMergrGroup = !string.IsNullOrEmpty(model.MergeGroup) && gridRow.Table.Columns.Contains(model.MergeGroup) && e.RowHandle != 0 ? (gridRow[model.MergeGroup] + "").Equals(BeforeGroupName) : false;
+ if (model.CanMerge && BeforeClass == Convert.ToDecimal(e.FieldValue) && isMergrGroup)
+ {
+ BeforeClass = Convert.ToDecimal(e.FieldValue);
+ BeforeGroupName = !string.IsNullOrEmpty(model.MergeGroup) && gridRow.Table.Columns.Contains(model.MergeGroup) ? gridRow[model.MergeGroup] + "" : "";
+ }
+ else
+ {
+ BeforeClass = Convert.ToDecimal(e.FieldValue);
+ BeforeGroupName = !string.IsNullOrEmpty(model.MergeGroup) && gridRow.Table.Columns.Contains(model.MergeGroup) ? gridRow[model.MergeGroup] + "" : "";
+ if (isSum || String.IsNullOrEmpty(model.SumCond)) customSum += Convert.ToDecimal(e.FieldValue);
+ }
}
- else
+ else
{
- BeforeClass = Convert.ToDecimal(e.FieldValue);
- if (isSum || String.IsNullOrEmpty(model.SumCond)) customSum += Convert.ToDecimal(e.FieldValue);
+ if (model.CanMerge && BeforeClass == Convert.ToDecimal(e.FieldValue))
+ {
+ BeforeClass = Convert.ToDecimal(e.FieldValue);
+ }
+ else
+ {
+ BeforeClass = Convert.ToDecimal(e.FieldValue);
+ if (isSum || String.IsNullOrEmpty(model.SumCond)) customSum += Convert.ToDecimal(e.FieldValue);
+ }
}
+
+
+
}
if (isSum)
{
@@ -2833,6 +2855,7 @@ namespace Lskj.Control
Math.Round(avg, 2),
Math.Round(max, 2),
Math.Round(min, 2));
+ if (this.TotalQuantity) this.lblTotal.Text = string.Format("已选中 {0} 行", rows.Length);
}
}
catch (Exception ex)
diff --git a/插件库/Lskj.Control/FrmCover.cs b/插件库/Lskj.Control/FrmCover.cs
index e68a2bf..225aaeb 100644
--- a/插件库/Lskj.Control/FrmCover.cs
+++ b/插件库/Lskj.Control/FrmCover.cs
@@ -273,13 +273,14 @@ namespace Lskj.Control
model.FieldType == ControlType.LabMultiSelectValueParam ||
model.FieldType == ControlType.LabAutoGridValue ||
model.FieldType == ControlType.LabSelectReturnId ||
- (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText) ||
+ model.FieldType == ControlType.LabModuleAddRowsID
)
{
string sqlValue = model.SqlSource;
- if (model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText))
+ if (model.FieldType == ControlType.LabSelectReturnId || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText) || model.FieldType == ControlType.LabModuleAddRowsID)
{
- 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);
@@ -484,7 +485,8 @@ namespace Lskj.Control
model.FieldType == ControlType.LabMultiSelectValueParam ||
model.FieldType == ControlType.LabAutoGridValue ||
model.FieldType == ControlType.LabSelectReturnId ||
- (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)||
+ model.FieldType == ControlType.LabModuleAddRowsID
))
{
string fieldValue = GetValueByImportText(dr, gc.FieldName, dr[gc.FieldName] + "");
diff --git a/插件库/Lskj.Control/FrmImport.cs b/插件库/Lskj.Control/FrmImport.cs
index ddfb077..ab7e3c4 100644
--- a/插件库/Lskj.Control/FrmImport.cs
+++ b/插件库/Lskj.Control/FrmImport.cs
@@ -279,13 +279,14 @@ namespace Lskj.Control
model.FieldType == ControlType.LabMultiSelectValueParam ||
model.FieldType == ControlType.LabAutoGridValue||
model.FieldType == ControlType.LabSelectReturnId||
- (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)||
+ model.FieldType == ControlType.LabModuleAddRowsID
)
{
string sqlValue = model.SqlSource;
- if (model.FieldType == ControlType.LabSelectReturnId|| (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText))
+ if (model.FieldType == ControlType.LabSelectReturnId|| (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText) || model.FieldType == ControlType.LabModuleAddRowsID)
{
- 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);
@@ -490,7 +491,8 @@ namespace Lskj.Control
model.FieldType == ControlType.LabMultiSelectValueParam ||
model.FieldType == ControlType.LabAutoGridValue||
model.FieldType == ControlType.LabSelectReturnId||
- (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)||
+ model.FieldType == ControlType.LabModuleAddRowsID
))
{
string fieldValue = GetValueByImportText(dr, gc.FieldName, dr[gc.FieldName] + "");
diff --git a/插件库/Lskj.Control/FrmSelectDownload.cs b/插件库/Lskj.Control/FrmSelectDownload.cs
index 2a558f0..d6e5eee 100644
--- a/插件库/Lskj.Control/FrmSelectDownload.cs
+++ b/插件库/Lskj.Control/FrmSelectDownload.cs
@@ -26,12 +26,12 @@ namespace Lskj.Control
public bool isBatchDownLoad = false;
public bool isprompt = true;
public bool isMultiple = false;//是否为忽略多选
- public bool isOpenvisble = false;//是否为忽略多选
+ public bool isOpenvisble = false;//是否可以直接打开
public string ModelId= string.Empty;//菜单名称
public string MenuName = string.Empty;//右键名称
public string MenuId = string.Empty;//菜单ID
-
+ public string SavePath = string.Empty;//下载路径(浏览器dll,多次下载,记录第一次路径,后续外部拿到后在默认赋值)
///
/// 右键多条下载是否显示
///
@@ -161,6 +161,7 @@ namespace Lskj.Control
PrintFile(labAddress.EditText);
File.Delete(labAddress.EditText);
}
+ this.DialogResult = DialogResult.OK;
this.Close();
}
}
diff --git a/插件库/Lskj.Control/FrmWebBrowser.cs b/插件库/Lskj.Control/FrmWebBrowser.cs
index d495ae1..01697fa 100644
--- a/插件库/Lskj.Control/FrmWebBrowser.cs
+++ b/插件库/Lskj.Control/FrmWebBrowser.cs
@@ -136,4 +136,13 @@ namespace Lskj.Control
}
else
{
-
\ No newline at end of file
+ //string val = HttpUtility.UrlEncode(HttpUtility.UrlDecode(string.Join("=", eqParams.Skip(1))));
+ //val = val.Replace("+", "%20")
+ // .Replace("%5c", "/")
+ // .Replace("%5C", "/")
+ // .Replace("%2f", "/")
+ // .Replace("%2F", "/")
+ // .Replace("//", "/");
+ //qpLS.Add(string.Format("{0}={1}", eqParams[0], val));
+
+
\ No newline at end of file
diff --git a/插件库/Lskj.Control/FrmWebBrowser2.cs b/插件库/Lskj.Control/FrmWebBrowser2.cs
index 9130d57..058ccdf 100644
--- a/插件库/Lskj.Control/FrmWebBrowser2.cs
+++ b/插件库/Lskj.Control/FrmWebBrowser2.cs
@@ -144,7 +144,7 @@ namespace Lskj.Control
{
string rawValue = HttpUtility.UrlDecode(string.Join("=", eqParams.Skip(1))).TrimEnd();
- qpLS.Add(string.Format("{0}={1}", eqParams[0], HttpUtility.UrlEncode(rawValue).Replace("%5c", "/").Replace("%2f", "/").Replace("//", "/").Replace("%3d", "=")));
+ qpLS.Add(string.Format("{0}={1}", eqParams[0], HttpUtility.UrlEncode(rawValue).Replace("%5c", "/").Replace("%2f", "/").Replace("//", "/").Replace("%3d", "=").Replace("+", "%20")));
}
}
else
diff --git a/插件库/Lskj.Control/GridControlEx.cs b/插件库/Lskj.Control/GridControlEx.cs
index b46ffc9..809f89b 100644
--- a/插件库/Lskj.Control/GridControlEx.cs
+++ b/插件库/Lskj.Control/GridControlEx.cs
@@ -465,6 +465,18 @@ namespace Lskj.Control
/// 必填字段
///
public string RequiredFields = string.Empty;
+ ///
+ /// 合计显示选中行数
+ ///
+ public bool TotalQuantity;
+
+
+ ///
+ ///新增行
+ ///
+ /// The sender.
+ public event ModuleAddLine OnNewLine;
+ public delegate void ModuleAddLine(string name, Listlist);
public GridControlEx()
{
@@ -1151,6 +1163,10 @@ namespace Lskj.Control
//case ControlType.LabGridPopupMutilText:
InitGridPopup(column, model);
break;
+ case ControlType.LabModuleAddRowsID:
+ case ControlType.LabModuleAddRowsText:
+ InitModuleReturnLine(column, model);
+ break;
default:
break;
}
@@ -5038,7 +5054,55 @@ namespace Lskj.Control
this.mControlList.Add(model);
}
+ ///
+ /// 说明:创建 模块返回行
+ /// 创建人:曹屹峰
+ /// 创建日期:2021-08-23
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ private void InitModuleReturnLine(GridColumn gridColumn, GridColumnModel model)
+ {
+ FrmModelLookUp2 modelLookUp = new FrmModelLookUp2(model.addModuleld, false);//model.IsRadio 必定多选
+ modelLookUp.ReturnCollection = true;
+ modelLookUp.ConfigureColumnMode = model.ConfigureColumnMode;
+ modelLookUp.ValueField = model.ValueMember;
+ modelLookUp.TextField = model.TextMember;
+ modelLookUp.SourceSQL = model.SqlSource;
+ modelLookUp.IsType = model.FieldType;
+ modelLookUp.ValueMember = model.FieldType == ControlType.LabModuleAddRowsID ? model.ValueMember : model.TextMember;
+ modelLookUp.Tag = model;
+ RepositoryItemCheckedComboBoxEdit btnEdit = new RepositoryItemCheckedComboBoxEdit();
+ btnEdit.NullText = "";
+ btnEdit.PopupBorderStyle = PopupBorderStyles.Flat;
+ btnEdit.AllowNullInput = DefaultBoolean.False;
+ btnEdit.DisplayMember = model.TextMember;
+ btnEdit.SeparatorChar = ',';
+ btnEdit.ValueMember = model.FieldType == ControlType.LabModuleAddRowsText ? model.ValueMember : model.TextMember;
+ DataTable dataTable = MainImpl.GetDataTableResult(modelLookUp.SysModel.MenuSql);
+ btnEdit.DataSource = dataTable;
+ //if (model.ModuleFrameDisplayText)
+ //{
+ // DataTable dataTable = MainImpl.GetDataTableResult(modelLookUp.SysModel.MenuSql);
+ // btnEdit.DataSource = dataTable;
+ //}
+ btnEdit.Buttons[0].Visible = false; // 不能移除,移除后事件不起作用.
+ btnEdit.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis) });
+
+ btnEdit.Tag = model;
+ btnEdit.Buttons[1].Tag = modelLookUp;
+ btnEdit.ButtonClick += new ButtonPressedEventHandler(OnModuleAddLine);
+ btnEdit.KeyDown += BtnEdit_KeyDown;
+ gridControl.RepositoryItems.Add(btnEdit);
+ gridColumn.OptionsColumn.ReadOnly = true;
+ gridColumn.ColumnEdit = btnEdit;
+
+
+ this.mControlList.Add(model);
+ }
///
@@ -6647,6 +6711,8 @@ namespace Lskj.Control
//}
if (RefreshTotal) this.gridView.UpdateSummary();//合计列值改变后更新合计计算
+
+
}
catch (Exception ex)
{
@@ -6740,6 +6806,7 @@ namespace Lskj.Control
}
}
+ if (this.TotalQuantity) this.lblTotal.Text = string.Format("已选中 {0} 行", rows.Length);
}
}
@@ -6812,6 +6879,7 @@ namespace Lskj.Control
avg = count == 0 || count == 0 ? 0 : sum / count;
this.lblTotal.Text = string.Format(ResourceKeys.GridTotalDisplayText, count, Math.Round(sum, 2), Math.Round(avg, 2), Math.Round(max, 2), Math.Round(min, 2));
+ if (this.TotalQuantity) this.lblTotal.Text = string.Format("已选中 {0} 行", rows.Length);
}
}
catch (Exception ex)
@@ -7295,7 +7363,6 @@ namespace Lskj.Control
//多选关联单据头
string SourceSQL = modelLookUp.SysModel.MenuSql.Replace("#", "") + model.SplicingConditions;
- //SourceSQL = modelLookUp.SysModel.MenuSql.Replace("#", "");
//单据头关联取值
if (this.ParentControl != null)
{
@@ -7332,6 +7399,72 @@ namespace Lskj.Control
}
}
+
+
+
+ ///
+ /// 说明:表格打开模块添加行
+ /// 创建人:曹屹峰
+ /// 创建日期:2021-08-23
+ /// 修改人:
+ /// 修改日期:
+ /// 修改备注:
+ /// 版本:1.0
+ ///
+ protected void OnModuleAddLine(object sender, ButtonPressedEventArgs e)
+ {
+ try
+ {
+ CheckedComboBoxEdit btnEdit = (CheckedComboBoxEdit)sender;
+ FrmModelLookUp2 modelLookUp = e.Button.Tag as FrmModelLookUp2;
+
+ GridColumnModel model = modelLookUp.Tag as GridColumnModel;
+ modelLookUp.EditText = btnEdit.Text;
+ modelLookUp.CurrentOperColumnKey = Model.ModuleCode + "_" + model.FieldName;
+ modelLookUp.EditText = btnEdit.Text;
+ modelLookUp.EditValue = btnEdit.EditValue + "";
+
+ //多选关联单据头
+ string SourceSQL = modelLookUp.SysModel.MenuSql.Replace("#", "") + model.SplicingConditions;
+ //单据头关联取值
+ if (this.ParentControl != null)
+ {
+ SourceSQL = this.ParentControl.ReplaceControlValue(SourceSQL);
+ }
+
+ modelLookUp.NewSourceSQL = ReplaceHelper.ReplaceRowParam(this.gridView.GetFocusedDataRow(), SourceSQL);
+ modelLookUp.AddModuleResult = model.addModuleResult;
+ modelLookUp.InitControls(modelLookUp.UnionModuleCodel);
+ DialogResult result = modelLookUp.ShowDialog();
+ if (result == DialogResult.OK)
+ {
+
+ btnEdit.EditValue = modelLookUp.EditValue;
+ this.GridView.SetFocusedRowCellValue(model.FieldName, modelLookUp.EditValue);
+
+ if (OnNewLine != null && modelLookUp.EditValueList.Count>0)
+ {
+ OnNewLine(model.FieldName, modelLookUp.EditValueList);
+ }
+
+ }
+ }
+ catch (Exception ex)
+ {
+ string Message = ErrorMessage.PromptErrorMessage(ex, Model.ModuleCode);
+ MessageUtil.Show(Message, ex.Message);
+ }
+ }
+
+
+
+
+
+
+
+
+
+
///
/// 模块返回框清空
///
diff --git a/插件库/Lskj.Control/Model/ControlModel.cs b/插件库/Lskj.Control/Model/ControlModel.cs
index 9bdcba1..966ab0b 100644
--- a/插件库/Lskj.Control/Model/ControlModel.cs
+++ b/插件库/Lskj.Control/Model/ControlModel.cs
@@ -329,4 +329,7 @@ namespace Lskj.Control.Model
///
public bool ImportCurrentValue { get; set; }
///
- ///是否为
\ No newline at end of file
+ ///是否为 单据动态生成列开始日期控件
+ ///
+ public bool SchedStartDataControl { get; set; }
+ ///
\ No newline at end of file
diff --git a/插件库/Lskj.Control/Model/ControlType.cs b/插件库/Lskj.Control/Model/ControlType.cs
index 8cc8174..4b44626 100644
--- a/插件库/Lskj.Control/Model/ControlType.cs
+++ b/插件库/Lskj.Control/Model/ControlType.cs
@@ -67,6 +67,7 @@ namespace Lskj.Control.Model
/// 日期框 显示(年-月)
///
public const int LabShortDate = 444444;
+
///
/// 自动搜索框 保存Value值, 显示Text值
///
@@ -468,6 +469,14 @@ namespace Lskj.Control.Model
///提示框
///
public const int LabPrompt = 166;
+ ///
+ ///模块选择返回行,返回ID
+ ///
+ public const int LabModuleAddRowsID = 167;
+ ///
+ ///模块选择返回行,返回text
+ ///
+ public const int LabModuleAddRowsText = 168;
///
/// 说明:是否为Value类型
@@ -566,4 +575,6 @@ namespace Lskj.Control.Model
}
///
-
\ No newline at end of file
+ /// 不需要根据数据源sql获取数据源的控件
+ ///
+ ///
public string sumCalc { get; set; }
+ ///
+ /// 合并分组
+ ///
public string MergeGroup { get; set; }
///
/// 合并数据是否求和(合并单元格只计算一次)
diff --git a/插件库/Lskj.Control/Model/GridDetailModel.cs b/插件库/Lskj.Control/Model/GridDetailModel.cs
index f5061f9..1c7d4eb 100644
--- a/插件库/Lskj.Control/Model/GridDetailModel.cs
+++ b/插件库/Lskj.Control/Model/GridDetailModel.cs
@@ -160,7 +160,7 @@ namespace Lskj.Control.Model
/// The union module.
public string UnionModule { get { return _unionModule; } }
///
- /// 关联模块
+ /// 关联条件
///
/// The union module.
public string UnionCond { get { return _unionCond; } }
@@ -294,6 +294,10 @@ namespace Lskj.Control.Model
/// 隐藏下方操作按钮
///
public string ChartTextColor;
+ ///
+ /// 刷新单表明细时忽略关联字段(单表中,有关联模块,但是没有关联条件,关联值,是不会去查询数据的)
+ ///
+ public bool IgnoreAssociatedFields;
///
/// 主模块编号
@@ -356,4 +360,5 @@ namespace Lskj.Control.Model
this.QueryAgain = item.Table.Columns.Contains("QueryAgain") ? "1".Equals(item["QueryAgain"] + "") : false;
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.
\ No newline at end of file
+ this.DynamicDetails = item.Table.Columns.Contains("DynamicDetails") ? "1".Equals(item["DynamicDetails"] + "") : false;
+ this.DetailSearch = item.Tabl
\ No newline at end of file
diff --git a/插件库/Lskj.Control/Model/GridExtend.cs b/插件库/Lskj.Control/Model/GridExtend.cs
index b0cd7f4..ee2d3e9 100644
--- a/插件库/Lskj.Control/Model/GridExtend.cs
+++ b/插件库/Lskj.Control/Model/GridExtend.cs
@@ -2395,6 +2395,11 @@ namespace Lskj.Control.Model
if (cell != null)
{
+ if (cell.CellType == CellType.Error)
+ {
+ // 你可以返回空,或者标记为 "错误值"
+ continue;
+ }
if (cell.CellType == CellType.Blank)
{
//isImportRows = false;
@@ -2440,7 +2445,7 @@ namespace Lskj.Control.Model
model.FieldType == ControlType.LabDateTime ||
model.FieldType == ControlType.LabDateTimeShort ||
model.FieldType == ControlType.LabTime ||
- model.FieldType == ControlType.LabShortTime) && (cell == null && cell.StringCellValue != null && cell.CellType == CellType.Blank && string.IsNullOrWhiteSpace(cell + "")))
+ model.FieldType == ControlType.LabShortTime) && (cell == null || string.IsNullOrWhiteSpace(cell + "")))
{
//日期框如果值是空,就直接跳过。赋空值("")会报错
continue;
@@ -2499,7 +2504,8 @@ namespace Lskj.Control.Model
|| model.FieldType == ControlType.LabAutoGridValue
|| model.FieldType == ControlType.LabAutoGridValueParam
|| model.FieldType == ControlType.LabSelectReturnId
- || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)||
+ model.FieldType == ControlType.LabModuleAddRowsID
))
{
bool isEmpty = model.CanNull;
@@ -2846,7 +2852,8 @@ namespace Lskj.Control.Model
|| model.FieldType == ControlType.LabAutoGridValue
|| model.FieldType == ControlType.LabAutoGridValueParam
|| model.FieldType == ControlType.LabSelectReturnId
- || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)||
+ model.FieldType == ControlType.LabModuleAddRowsID
))
{
bool isEmpty = model.CanNull;
@@ -3275,7 +3282,8 @@ namespace Lskj.Control.Model
model.FieldType == ControlType.LabMultiSelectValueParam ||
model.FieldType == ControlType.LabAutoGridValue ||
model.FieldType == ControlType.LabSelectReturnId ||
- (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)||
+ model.FieldType == ControlType.LabModuleAddRowsID
))
{
string fieldValue = GetValueByImportText(dr, gc.FieldName, dr[gc.FieldName] + "");
@@ -3691,13 +3699,14 @@ namespace Lskj.Control.Model
|| model.FieldType == ControlType.LabAutoGridValue
|| model.FieldType == ControlType.LabAutoGridValueParam
|| model.FieldType == ControlType.LabSelectReturnId
- || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ || (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)||
+ model.FieldType == ControlType.LabModuleAddRowsID
)
{
string sqlValue = model.SqlSource;
- if (model.FieldType == ControlType.LabSelectReturnId || model.FieldType == ControlType.LabSelectReturnIdNew)
+ if (model.FieldType == ControlType.LabSelectReturnId || model.FieldType == ControlType.LabSelectReturnIdNew || model.FieldType == ControlType.LabModuleAddRowsID)
{
- 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);
@@ -3767,13 +3776,14 @@ namespace Lskj.Control.Model
|| model.FieldType == ControlType.LabAutoGridValueParam
|| model.FieldType == ControlType.LabSelectReturnId
|| (model.FieldType == ControlType.LabSelectReturnIdNew && model.ModuleFrameDisplayText)
+ || model.FieldType == ControlType.LabModuleAddRowsID
)
{
string sqlValue = model.SqlSource;
- if (model.FieldType == ControlType.LabSelectReturnId || model.FieldType == ControlType.LabSelectReturnIdNew)
+ if (model.FieldType == ControlType.LabSelectReturnId || model.FieldType == ControlType.LabSelectReturnIdNew|| model.FieldType == ControlType.LabModuleAddRowsID)
{
- 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/Model/MenuStrip/BaseMenuStrip.cs b/插件库/Lskj.Control/Model/MenuStrip/BaseMenuStrip.cs
index 8559387..fde48dc 100644
--- a/插件库/Lskj.Control/Model/MenuStrip/BaseMenuStrip.cs
+++ b/插件库/Lskj.Control/Model/MenuStrip/BaseMenuStrip.cs
@@ -699,6 +699,7 @@ namespace Lskj.Control.Model
}
+ //打开导入覆盖控件
public bool OpenFrmcCover(GridRightMenuModel model, List paramList)
{
@@ -1784,7 +1785,7 @@ namespace Lskj.Control.Model
paramList[2] = ReplaceHelper.ReplaceRowParam(rows, url) + "";
}
}
- if (model.DllName.ToLower().Contains("p_PubPrint.lsp".ToLower()))
+ if (model.DllName.ToLower().Contains("p_PubPrint.lsp".ToLower())&& !model.CancelDefaultReplace)
{
string paramsql1 = paramList[2];
paramList[2] = ReplaceHelper.ReplaceRowParam(rows, paramsql1, "'", "'");
diff --git a/插件库/Lskj.Control/Model/MenuStrip/RightMenuModel.cs b/插件库/Lskj.Control/Model/MenuStrip/RightMenuModel.cs
index b1e1472..3997624 100644
--- a/插件库/Lskj.Control/Model/MenuStrip/RightMenuModel.cs
+++ b/插件库/Lskj.Control/Model/MenuStrip/RightMenuModel.cs
@@ -129,7 +129,7 @@ namespace Lskj.Control.Model
/// true if [more click]; otherwise, false.
public bool MoreClick { get { return _moreClick; } }
///
- /// 右键菜单是否可执参数替换
+ /// 右键菜单是否可执参数替换(合并)
///
/// true if [merg Eexec]; otherwise, false.
public bool Mergeexec { get { return _mergEexec; } }
@@ -342,6 +342,10 @@ namespace Lskj.Control.Model
/// 右键验证是否有修改后的数据
///
public bool VerifyUpdate;
+ ///
+ /// 右键多选合并不走默认替换(p_PubPrint.lsp)
+ ///
+ public bool CancelDefaultReplace;
///
@@ -471,4 +475,6 @@ namespace Lskj.Control.Model
this.SqlDirectExecution = string.IsNullOrWhiteSpace(item["SqlDirectExecution"] + "") ? false : "1".Equals(item["SqlDirectExecution"] + "");
if (item.Table.Columns.Contains("UnionZTid"))
this.UnionZTid = string.IsNullOrWhiteSpace(item["UnionZTid"] + "") ? "" : item["UnionZTid"] + "";
- if (item.Table.Columns.Contains("Di
\ No newline at end of file
+ if (item.Table.Columns.Contains("DisableSuccessfulPrompt"))
+ this.DisableSuccessfulPrompt = string.IsNullOrWhiteSpace(item["DisableSuccessfulPrompt"] + "") ? false : "1".Equals(item["DisableSuccessfulPrompt"] + "");
+ if (item.Table.Columns.
\ No newline at end of file
diff --git a/插件库/Lskj.Control/Model/MyControl.cs b/插件库/Lskj.Control/Model/MyControl.cs
index 923a256..90e781c 100644
--- a/插件库/Lskj.Control/Model/MyControl.cs
+++ b/插件库/Lskj.Control/Model/MyControl.cs
@@ -250,6 +250,10 @@ namespace Lskj.Control.Model
///
public event EventHandler OpenDocumentSource;
///
+ ///特殊左侧表
+ ///
+ public GridControlEx SpecialLeftTable;
+ ///
/// 控件Panel对象
///
public XtraScrollableControl ParentPanel
@@ -3458,14 +3462,14 @@ namespace Lskj.Control.Model
this.GridRowCount = this._mainGridEx.SetGridViewDataSource(MainImpl.GetAdapterResult(sqlValue));
}
}
- //if (RememberRow)
- //{
- // if (this.GridRowCount <= oldRowHandle && SystemInfo.Instance.DeleteSelectedEndOf)
- // {
- // oldRowHandle = this.GridRowCount - 1;
- // }
- // SetFocusedRowHandle(oldRowHandle);
- //}
+ if (RememberRow)
+ {
+ if (this.GridRowCount <= oldRowHandle && SystemInfo.Instance.DeleteSelectedEndOf)
+ {
+ oldRowHandle = this.GridRowCount - 1;
+ }
+ SetFocusedRowHandle(oldRowHandle);
+ }
}
}
else
@@ -4091,6 +4095,7 @@ namespace Lskj.Control.Model
model.AdditionalAssociations = item.Table.Columns.Contains("AdditionalAssociations") && !string.IsNullOrWhiteSpace(item["AdditionalAssociations"] + "") ? "1".Equals(item["AdditionalAssociations"] + "") : false;
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;
//为了和工具里和bs里统一
if (model.FieldType == 42)
{
@@ -4366,6 +4371,7 @@ namespace Lskj.Control.Model
remarkEdit.TextEdit.ForeColor = Color.Red;
}
+
remarkEdit.TextEdit.KeyDown += new KeyEventHandler(OnTextEditKeyDown);
remarkEdit.TextEdit.TextChanged += new EventHandler(OnTextEditTextChanged);
if (!isLoadBorder) remarkEdit.TextEdit.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
@@ -4384,6 +4390,11 @@ namespace Lskj.Control.Model
case ControlType.LabMemoEdit:
// 备注框A
LabelMemoEdit memoEdit = new LabelMemoEdit();
+ if (model.InputBoxFontSize > 0)
+ {
+ //memoEdit.TextEdit.Properties.Appearance.Font = new Font(memoEdit.TextEdit.Properties.Appearance.Font.FontFamily, model.RemarkBoxFontSize);
+ memoEdit.TextEdit.Properties.AppearanceDropDown.Font = new Font(memoEdit.TextEdit.Properties.Appearance.Font.FontFamily, model.InputBoxFontSize);
+ }
memoEdit.TextEdit.KeyDown += new KeyEventHandler(OnTextEditKeyDown);
memoEdit.TextEdit.TextChanged += new EventHandler(OnTextEditTextChanged);
if (!isLoadBorder) memoEdit.TextEdit.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
@@ -4392,6 +4403,11 @@ namespace Lskj.Control.Model
case ControlType.LabMemoSpaceEdit:
// 备注框A
LabelMemoSpaceEdit memoSpacEdit = new LabelMemoSpaceEdit();
+ if (model.InputBoxFontSize > 0)
+ {
+ //memoSpacEdit.TextEdit.Properties.Appearance.Font = new Font(memoSpacEdit.TextEdit.Properties.Appearance.Font.FontFamily, model.RemarkBoxFontSize);
+ memoSpacEdit.TextEdit.Properties.AppearanceDropDown.Font = new Font(memoSpacEdit.TextEdit.Properties.Appearance.Font.FontFamily, model.InputBoxFontSize);
+ }
memoSpacEdit.TextEdit.KeyDown += new KeyEventHandler(OnTextEditKeyDown);
memoSpacEdit.TextEdit.TextChanged += new EventHandler(OnTextEditTextChanged);
if (!isLoadBorder) memoSpacEdit.TextEdit.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
@@ -6183,30 +6199,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 (controlObj is LabelCheckEdit)
- {
- LabelCheckEdit checkEdit = controlObj as LabelCheckEdit;
- value = checkEdit.EditText;
- }
- else if (controlObj is LabelComboxEdit)
- {
- LabelComboxEdit autoEdit = controlObj as LabelComboxEdit;
- value = autoEdit.EditValue;
- }
- else if (controlObj is LabelTextEdit)
- {
- LabelTextEdit textIntEdit = controlObj as LabelTextEdit;
- if (textIntEdit != null) value = string.IsNullOrEmpty(textIntEdit.EditText) ? "0" : textIntEdit.EditText;
- }
-
- defaultValue = defaultValue.Replace(item, value);
- }
-
- }
- }
- return defaultValue;
- }
-
-
- }
-}
\ 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 e32381f..193f95e 100644
--- a/插件库/Lskj.Control/ModuleEx.cs
+++ b/插件库/Lskj.Control/ModuleEx.cs
@@ -948,7 +948,7 @@ namespace Lskj.Control
//this.treeGridLeft.TreeListObj.FocusedNodeChanged += TreeListObj_FocusedNodeChanged;
this.treeGridLeft.SetGridRightMenus(dtRightTable, this.Model, OnGridViewRightCallBack, this._leftGridSearchObj, this.treeGridLeft.MenuStrip);
- this.gridLeft.SetGridRowColors(dtColorTable);
+ this.treeGridLeft.SetGridRowColors(dtColorTable);
this.treeGridLeft.SetReadOnlyColumns(dtTable, GridCustomColumnStruct.BaseLeftGridView + this.Model.ModuleCode);
//主键字段名称
this.treeGridLeft.TreeListObj.KeyFieldName = this.LeftRowObj["fieldsqlid"] + "";
@@ -1423,7 +1423,7 @@ namespace Lskj.Control
return;
string fieldName = string.IsNullOrEmpty(SysModel.leftprimFile) ? this.LeftRowObj["fieldName"] + "" : SysModel.leftprimFile;
-
+
/* ───── ① 有配置存储过程:只执行存储过程 ───── */
if (!string.IsNullOrWhiteSpace(SysModel.DragprocessFile))
{
@@ -1473,23 +1473,52 @@ namespace Lskj.Control
string dragCond = ReplaceHelper.ReplaceRowParam(e.SelectGridRow, this.SysModel.DragCond);
int successCount = 0, faultCount = 0;
string ErrorMessage = string.Empty;
+ if (SystemInfo.Instance.ModuleSpecialDrag) fieldName = this.LeftRowObj["fieldName"] + "";
+ string LeftName = e.SelectGridRow.Table.Columns[0].ColumnName;
foreach (DataRow item in e.GridViewSelectRows)
{
try
{
bool needUpdate = ReplaceHelper.ReplaceRowParamCond(item, dragCond);
- int result = needUpdate
- ? BaseModuleImpl.UpdateRecord(this.SysModel.MenuTable,
- fieldName,
- e.SelectGridRow[fieldName] + "",
- this.ModuleGridObj.ParmaryKey,
- item[this.ModuleGridObj.ParmaryKey] + "")
- : 0;
+ int result = 0;
+ if (SystemInfo.Instance.ModuleSpecialDrag)
+ {
+ //2026-4-3 赵坤要求按照他的这个逻辑写
+ // update {模块表名} set {树型结点关联的字段名}='{左边第一个字段(工具里第一个)}' where {主表主键}='{主表主键值}'
+
+ result = needUpdate
+ ? BaseModuleImpl.UpdateRecord(this.SysModel.MenuTable,
+ fieldName,
+ e.SelectGridRow[LeftName] + "",
+ this.ModuleGridObj.ParmaryKey,
+ item[this.ModuleGridObj.ParmaryKey] + "")
+ : 0;
+ }
+ else
+ {
+ // update {模块表名} set {fieldName}='{左侧选中行中的fieldName}' where {主表主键}='{主表主键值}'
+ result = needUpdate
+ ? BaseModuleImpl.UpdateRecord(this.SysModel.MenuTable,
+ fieldName,
+ e.SelectGridRow[fieldName] + "",
+ this.ModuleGridObj.ParmaryKey,
+ item[this.ModuleGridObj.ParmaryKey] + "")
+ : 0;
+ }
+
if (result == 1)
{
successCount++;
- string log = $"{this.SysModel.MenuTable}表{this.ModuleGridObj.ParmaryKey}='{item[this.ModuleGridObj.ParmaryKey]}' 的 {fieldName} 修改为 {e.SelectGridRow[fieldName]}";
+ string log = string.Empty;
+ if (SystemInfo.Instance.ModuleSpecialDrag)
+ {
+ log = $"{this.SysModel.MenuTable}表{this.ModuleGridObj.ParmaryKey}='{item[this.ModuleGridObj.ParmaryKey]}' 的 {fieldName} 修改为 {e.SelectGridRow[LeftName]}";
+ }
+ else
+ {
+ log = $"{this.SysModel.MenuTable}表{this.ModuleGridObj.ParmaryKey}='{item[this.ModuleGridObj.ParmaryKey]}' 的 {fieldName} 修改为 {e.SelectGridRow[fieldName]}";
+ }
LogUtil.WriteDebug(this.Model.ModuleCode, "拖拽修改",
this.Model.FormText + item[this.ModuleGridObj.ParmaryKey], log,
this.Model.ModuleId + "");
diff --git a/插件库/Lskj.Control/ModuleGridEx.cs b/插件库/Lskj.Control/ModuleGridEx.cs
index 8875657..55cbe2b 100644
--- a/插件库/Lskj.Control/ModuleGridEx.cs
+++ b/插件库/Lskj.Control/ModuleGridEx.cs
@@ -205,6 +205,10 @@ namespace Lskj.Control
/// 扫码添加行
///
public DataRow SweepCodeRow = null;
+ ///
+ /// 浏览器添加行是否成功
+ ///
+ public bool BrowserAddRow = false;
#endregion
#region public set property
@@ -789,9 +793,10 @@ namespace Lskj.Control
{
DataTable table = gcMain.GridControl.DataSourceTable();
int rowNumber = table.Rows.Count;
+ this.BrowserAddRow = false;
//新增一行
this.AddGridViewRecord();
- if (this.gcMain.GridView.FocusedRowHandle == rowNumber)
+ if (this.gcMain.GridView.FocusedRowHandle == rowNumber&& BrowserAddRow)
{
//成功新增行,把网页返回的行赋值
foreach (GridColumn col in gridColumns)
@@ -1038,6 +1043,7 @@ namespace Lskj.Control
bandedGridControlEx.Model = this.Model;
bandedGridControlEx.SysModel = this.SysModel;
bandedGridControlEx.Dock = DockStyle.Fill;
+ bandedGridControlEx.TotalQuantity = this.SysModel.TotalQuantity;
// 明确设置禁止自动调整列宽
bandedGridControlEx.BandedView.OptionsView.ColumnAutoWidth = false;
gcMain.CustomGroupBandEx = bandedGridControlEx;
@@ -2055,6 +2061,7 @@ namespace Lskj.Control
}
}
}
+ this.BrowserAddRow = true;
view.UpdateCurrentRow();
view.ShowEditor();
}
@@ -3749,10 +3756,15 @@ namespace Lskj.Control
this.gcMain.ModifyCond = this.SysModel.ModifyCond;
//主键
this.gcMain.MultiplePrimary = parmaryKey;
+ //合计是否只显示行数
+ this.gcMain.TotalQuantity = this.SysModel.TotalQuantity;
// 常用工具
this.InitializeCommonTool();
if (SysModel.isLeftRightMode) this.pl_top_right.Visible = false;
+ this.gcMain.OnNewLine += new GridControlEx.ModuleAddLine(AddGridRows);
+
+
//隐藏按钮,改变pl_top_right宽度,重新计算按钮坐标(显示比列放大的话,左侧条件可能会别遮住,需要减去宽度后重新算坐标)
this.CalculateCoordinates();
@@ -5892,4 +5904,50 @@ namespace Lskj.Control
// 获取字体和最大宽度
Document document = richEdit.Document;
-
\ No newline at end of file
+ Font font = richEdit.Font;
+ int maxWidth = richEdit.ClientSize.Width - richEdit.Padding.Horizontal;
+
+ // 获取前3行文本
+ string[] lines = richEdit.Text.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
+ int lineCount = Math.Min(4, lines.Length);
+ string firstThreeLines = string.Join(Environment.NewLine, lines.Take(lineCount));
+
+ // 创建StringFormat
+ StringFormat format = new StringFormat(StringFormat.GenericTypographic);
+ format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces;
+
+ // 测量文本高度
+ using (Graphics g = richEdit.CreateGraphics())
+ {
+ SizeF textSize = g.MeasureString(
+ firstThreeLines,
+ font,
+ maxWidth,
+ format
+ );
+ return (int)Math.Ceiling(textSize.Height);
+ }
+ }
+
+ ///
+ /// 新增行,并替换指定字段值
+ ///
+ ///
+ ///
+ public void AddGridRows(string FieldName, List list)
+ {
+ if (string.IsNullOrWhiteSpace(this.SysModel.MenuAddName))
+ {
+ DataTable dt = this.gcMain.GridControl.DataSource as DataTable;
+ if (dt == null)
+ {
+ MessageUtil.Show("请查询后添加!");
+ return;
+ }
+ if (!SysModel.CanEdit)
+ {
+ MessageUtil.Show("表格不可编辑,增加失败");
+ return;
+ }
+
+ if (!(dt.Column
\ No newline at end of file
diff --git a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs
index 1cec713..7c33439 100644
--- a/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs
+++ b/插件库/Lskj.Control/MultiModelLookUp/FrmModelLookUp2.cs
@@ -155,6 +155,16 @@ namespace Lskj.Control.MultiModelLookUp
/// 返回关联的字典
///
public Dictionary ModuleResultDic = new Dictionary();
+ ///
+ /// 返回多行的集合(模块返回添加行 167 168)
+ ///
+ public List EditValueList = new List();
+ public List EditTextList = new List();
+ ///
+ /// 是否返回集合
+ ///
+ public bool ReturnCollection;
+
#endregion
public FrmModelLookUp2(string ModuleCodel)
{
@@ -801,9 +811,9 @@ namespace Lskj.Control.MultiModelLookUp
///
private void maximization(object sender, EventArgs e)
{
- double a = (double)PositionSplitter / (double)WindowHeight;
- this.splitMain_Right.SplitterPosition = Convert.ToInt32(Math.Round((double)this.Height * a));
- WindowHeight = this.Height;
+ //double a = (double)PositionSplitter / (double)WindowHeight;
+ //this.splitMain_Right.SplitterPosition = Convert.ToInt32(Math.Round((double)this.Height * a));
+ //WindowHeight = this.Height;
}
#endregion
#region 选中行
@@ -948,13 +958,39 @@ namespace Lskj.Control.MultiModelLookUp
{
EditValue = string.Empty;
EditText = string.Empty;
+ this.EditValueList.Clear();
+ this.EditTextList.Clear();
ModuleResultDic.Clear();
DataTable sourceTable = this.gcDetail.GridControl.DataSource as DataTable;
- foreach (DataRow item in sourceTable.Rows)
+
+ if (ReturnCollection)
{
- this.EditValue += item[ValueMember] + ",";
- this.EditText += item[TextField] + ",";
+ int i = 0;
+ foreach (DataRow item in sourceTable.Rows)
+ {
+ if (i == 0)
+ {
+ this.EditValue = item[ValueMember] + "";
+ this.EditText = item[TextField] + "";
+ }
+ else
+ {
+ this.EditValueList.Add(item[ValueMember] + "");
+ this.EditTextList.Add(item[TextField] + "");
+ }
+ i++;
+ }
}
+ else
+ {
+ foreach (DataRow item in sourceTable.Rows)
+ {
+ this.EditValue += item[ValueMember] + ",";
+ this.EditText += item[TextField] + ",";
+ }
+ }
+
+
if (!string.IsNullOrEmpty(AddModuleResult))
{
string[] resultFields = AddModuleResult.Split(',');
diff --git a/插件库/Lskj.Control/TabControlEx.cs b/插件库/Lskj.Control/TabControlEx.cs
index e628d11..b199c11 100644
--- a/插件库/Lskj.Control/TabControlEx.cs
+++ b/插件库/Lskj.Control/TabControlEx.cs
@@ -266,7 +266,7 @@ namespace Lskj.Control
}
/********* 2. PageVisibleCond(可见性判定) ***************************/
- if (!string.IsNullOrEmpty(leftGrid.SysModel.PageVisbleCond))
+ if (leftGrid.SysModel!=null && !string.IsNullOrEmpty(leftGrid.SysModel.PageVisbleCond))
{
string condSql = ReplaceHelper.ReplaceRowParam(rowItem,
ReplaceHelper.ReplaceUserInfo(leftGrid.SysModel.PageVisbleCond));
@@ -480,6 +480,10 @@ namespace Lskj.Control
var g2 = mg.GridControlObj;
g2.GridView.FocusedRowObjectChanged += (s, e) => RefreshRightTab(rightTab, g2);
RefreshRightTab(rightTab, g2); // 首次加载
+ } else if (page.Tag is GridControlEx g3)
+ {
+ g3.GridView.FocusedRowObjectChanged += (s, e) => RefreshRightTab(rightTab, g3);
+ RefreshRightTab(rightTab, g3);// 首次加载
}
page.Controls.Add(split);// 跟原来保持一致的 Tag 用法
}