SVN-Revision: r884
This commit is contained in:
tdx
2025-07-23 02:36:09 +00:00
parent 63be96313b
commit 36299a8b3b
+15 -7
View File
@@ -108,16 +108,19 @@ namespace Lskj.Control.Model
if (applyArgs.CancelFlag) return false; if (applyArgs.CancelFlag) return false;
List<string> paramList = HandleRightMenuParams(model.ParamList); List<string> paramList = HandleRightMenuParams(model.ParamList);
string dllName = this._controlObj.ReplaceControlValue(model.DllName).Trim(); string dllName = this._controlObj.ReplaceControlValue(model.DllName).Trim();
if (BaseGridView != null && BaseGridView.GetFocusedDataRow() != null)
{
DataRow parentitem = BaseGridView.GetFocusedDataRow();
dllName = ReplaceHelper.ReplaceRowParam(parentitem, dllName).Trim();
}
switch (model.ActionType) switch (model.ActionType)
{ {
case 1: // 执行存储过程 case 1: // 执行存储过程
resultValue = ExecProcedure(model.Action, paramList); resultValue = ExecProcedure(model.Action, paramList);
break; break;
case 2: // 调用dll程序 case 2: // 调用dll程序
resultValue = ExecDynamicLinkLibary(model, paramList, rowItem); resultValue = ExecDynamicLinkLibary(model, paramList, rowItem, dllName);
break; break;
case 3: //调用delphi程序 case 3: //调用delphi程序
resultValue = ExecDelphiLibary(model.DllName, paramList); resultValue = ExecDelphiLibary(model.DllName, paramList);
@@ -178,6 +181,11 @@ namespace Lskj.Control.Model
{ {
case "@": // sql处理 case "@": // sql处理
{ {
if (BaseGridView != null && BaseGridView.GetFocusedDataRow() != null)
{
DataRow parentitem = BaseGridView.GetFocusedDataRow();
fieldValue = ReplaceHelper.ReplaceRowParam(parentitem, item) + "";
}
string value = MainImpl.GetResult(this._controlObj.ReplaceControlValue(fieldValue.Replace("@", ""))) + ""; string value = MainImpl.GetResult(this._controlObj.ReplaceControlValue(fieldValue.Replace("@", ""))) + "";
handleParamList.Add(value); handleParamList.Add(value);
} }
@@ -347,17 +355,17 @@ namespace Lskj.Control.Model
/// <para>版本:1.0</para> /// <para>版本:1.0</para>
/// </summary> /// </summary>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
private bool ExecDynamicLinkLibary(GridRightMenuModel model, List<string> paramList, DataRow rowItem) private bool ExecDynamicLinkLibary(GridRightMenuModel model, List<string> paramList, DataRow rowItem,string dllname)
{ {
issuccess = true; issuccess = true;
if (string.IsNullOrWhiteSpace(model.DllName)) if (string.IsNullOrWhiteSpace(dllname))
{ {
MessageUtil.Show(ResourceKeys.OperFault + "未配置动态链接库."); MessageUtil.Show(ResourceKeys.OperFault + "未配置动态链接库.");
return false; return false;
} }
else else
{ {
switch (model.DllName.ToLower()) switch (dllname.ToLower())
{ {
case "iexplore.exe": // 调用ie浏览器 case "iexplore.exe": // 调用ie浏览器
string url = (paramList[0] + Uri.EscapeUriString(paramList[1])).Replace("#", "%23"); string url = (paramList[0] + Uri.EscapeUriString(paramList[1])).Replace("#", "%23");
@@ -405,7 +413,7 @@ namespace Lskj.Control.Model
str.Add(maintabFocusedRowJson); // 现在可以添加元素了,因为 str 是 List<string> str.Add(maintabFocusedRowJson); // 现在可以添加元素了,因为 str 是 List<string>
// 假设你需要将 List<string> 转回字符串数组,可以这样操作 // 假设你需要将 List<string> 转回字符串数组,可以这样操作
string[] strArray = str.ToArray(); string[] strArray = str.ToArray();
IForm form = FormHelper.LoadDllForm(model.DllName, strArray); IForm form = FormHelper.LoadDllForm(dllname, strArray);
if (form == null) if (form == null)
{ {
MessageUtil.Show(ResourceKeys.DyncmicDllNotFount); MessageUtil.Show(ResourceKeys.DyncmicDllNotFount);