提交当前本机最新程序
This commit is contained in:
@@ -366,7 +366,10 @@ namespace Lskj.Control.Model
|
||||
///记住上一次的值(关闭时记住上一次的条件值,下一次打开时输入上去。关闭程序后清空)
|
||||
/// </summary>
|
||||
public bool RememberValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 明细合计
|
||||
/// </summary>
|
||||
public string SumlistField { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,6 +71,23 @@ namespace Lskj.Control.Model
|
||||
/// 替换参数前执行
|
||||
/// </summary>
|
||||
public event BeforeHandleParamsEventHandler OnBeforeHandleParamsCallback;
|
||||
|
||||
/// <summary>
|
||||
/// 触发替换参数前事件,并返回事件处理后的参数值。
|
||||
/// </summary>
|
||||
protected string RaiseBeforeHandleParamsCallback(List<string> paramList, DataRow[] rowDatas, string paramItem, DataRow rowData, string fieldValue)
|
||||
{
|
||||
BeforeHandleParamsEventHandler handler = OnBeforeHandleParamsCallback;
|
||||
if (handler == null)
|
||||
return fieldValue;
|
||||
|
||||
HandleParamsArgs handleParamsArgs = new HandleParamsArgs(paramList, rowDatas, paramItem, rowData)
|
||||
{
|
||||
FieldValue = fieldValue
|
||||
};
|
||||
handler(this, handleParamsArgs);
|
||||
return handleParamsArgs.FieldValue;
|
||||
}
|
||||
/// <summary>
|
||||
/// 缓存右键菜单
|
||||
/// </summary>
|
||||
@@ -1899,15 +1916,7 @@ namespace Lskj.Control.Model
|
||||
if (!string.IsNullOrWhiteSpace(item))
|
||||
{
|
||||
string fieldValue = ReplaceHelper.ReplaceUserInfo(item);
|
||||
if (OnBeforeHandleParamsCallback != null)
|
||||
{
|
||||
HandleParamsArgs handleParamsArgs = new HandleParamsArgs(paramList, rowDatas, item, rowData)
|
||||
{
|
||||
FieldValue = fieldValue
|
||||
};
|
||||
OnBeforeHandleParamsCallback(this, handleParamsArgs);
|
||||
fieldValue = handleParamsArgs.FieldValue;
|
||||
}
|
||||
fieldValue = RaiseBeforeHandleParamsCallback(paramList, rowDatas, item, rowData, fieldValue);
|
||||
if (!string.IsNullOrWhiteSpace(fieldValue) && fieldValue.TrimStart().StartsWith("MergeExec_", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
fieldValue = ReplaceHelper.ReplaceRowParam(rowDatas, fieldValue.Replace("MergeExec_", "", true));
|
||||
@@ -2086,4 +2095,4 @@ namespace Lskj.Control.Model
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,8 +40,7 @@ namespace Lskj.Control.Model
|
||||
|
||||
protected override void MenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
int[] mSelectRows = this._gridView.GetSelectedRows();
|
||||
if (mSelectRows == null || mSelectRows.Length == 0) return;
|
||||
int[] mSelectRows = this._gridView.GetSelectedRows() ?? new int[0];
|
||||
|
||||
DataRow[] dataRows = new DataRow[mSelectRows.Length];
|
||||
for (int i = 0; i < mSelectRows.Length; i++)
|
||||
@@ -49,49 +48,53 @@ namespace Lskj.Control.Model
|
||||
dataRows[i] = this._gridView.GetDataRow(mSelectRows[i]);
|
||||
}
|
||||
|
||||
|
||||
DataRow mSelectRow = this._gridView.GetDataRow(mSelectRows[0]);
|
||||
this._gridView.UpdateCurrentRow();
|
||||
this._gridView.ShowEditor();
|
||||
|
||||
ContextMenuStrip cmsMenu = (ContextMenuStrip)sender;
|
||||
cmsMenu.Items.Clear();
|
||||
cmsMenu.Items.AddRange(this.RightMenuItems.ToArray());
|
||||
|
||||
// 创建QQ、浏览器右键菜单
|
||||
List<ToolStripMenuItem> mQQArray = new List<ToolStripMenuItem>();
|
||||
List<ToolStripMenuItem> mBrowerArray = new List<ToolStripMenuItem>();
|
||||
|
||||
foreach (GridColumn column in this._gridView.Columns)
|
||||
if (mSelectRows.Length > 0)
|
||||
{
|
||||
if (!mSelectRow.Table.Columns.Contains(column.Name))
|
||||
continue;
|
||||
string rowValue = mSelectRow[column.Name] + "";
|
||||
if (!string.IsNullOrWhiteSpace(rowValue))
|
||||
DataRow mSelectRow = this._gridView.GetDataRow(mSelectRows[0]);
|
||||
this._gridView.UpdateCurrentRow();
|
||||
this._gridView.ShowEditor();
|
||||
|
||||
// 创建QQ、浏览器右键菜单
|
||||
List<ToolStripMenuItem> mQQArray = new List<ToolStripMenuItem>();
|
||||
List<ToolStripMenuItem> mBrowerArray = new List<ToolStripMenuItem>();
|
||||
|
||||
foreach (GridColumn column in this._gridView.Columns)
|
||||
{
|
||||
GridColumnModel model = column.Tag as GridColumnModel;
|
||||
if (model == null) continue;
|
||||
|
||||
if (model.FieldType == ControlType.LabQQ)
|
||||
if (!mSelectRow.Table.Columns.Contains(column.Name))
|
||||
continue;
|
||||
string rowValue = mSelectRow[column.Name] + "";
|
||||
if (!string.IsNullOrWhiteSpace(rowValue))
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.qq);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(QQItemClick);
|
||||
mQQArray.Add(item);
|
||||
}
|
||||
GridColumnModel model = column.Tag as GridColumnModel;
|
||||
if (model == null) continue;
|
||||
|
||||
if (model.FieldType == ControlType.LabWWW && !string.IsNullOrWhiteSpace(rowValue))
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.www);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(BrowerItemClick);
|
||||
mBrowerArray.Add(item);
|
||||
if (model.FieldType == ControlType.LabQQ)
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.qq);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(QQItemClick);
|
||||
mQQArray.Add(item);
|
||||
}
|
||||
|
||||
if (model.FieldType == ControlType.LabWWW && !string.IsNullOrWhiteSpace(rowValue))
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.www);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(BrowerItemClick);
|
||||
mBrowerArray.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cmsMenu.Items.AddRange(mQQArray.ToArray());
|
||||
cmsMenu.Items.AddRange(mBrowerArray.ToArray());
|
||||
}
|
||||
|
||||
cmsMenu.Items.AddRange(mQQArray.ToArray());
|
||||
cmsMenu.Items.AddRange(mBrowerArray.ToArray());
|
||||
|
||||
Dictionary<ToolStripItem, GridRightMenuModel> cmsModelDic = new Dictionary<ToolStripItem, GridRightMenuModel>();
|
||||
List<string> roleNamesList = new List<string>();
|
||||
@@ -103,6 +106,8 @@ namespace Lskj.Control.Model
|
||||
roleNamesList.Add(model.PrivilegeOper);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 判断右键菜单是否可用
|
||||
foreach (ToolStripItem cms in cmsMenu.Items)
|
||||
{
|
||||
@@ -126,20 +131,28 @@ namespace Lskj.Control.Model
|
||||
StringBuilder sqlCondBuilder = new StringBuilder();
|
||||
GridCell[] cells = this._gridView.GetSelectedCells();
|
||||
DataRow focusedRow = this.BaseGridView.GetFocusedDataRow();
|
||||
foreach (int itemIndex in mSelectRows)
|
||||
|
||||
DataRow[] conditionRows = dataRows;
|
||||
if (model.AllowNullExec && conditionRows.Length == 0)
|
||||
{
|
||||
DataRow selectRow = this._gridView.GetDataRow(itemIndex);
|
||||
string cond = string.Empty;
|
||||
conditionRows = new DataRow[] { new DataTable().NewRow() };
|
||||
}
|
||||
|
||||
foreach (DataRow selectRow in conditionRows)
|
||||
{
|
||||
//DataRow selectRow = this._gridView.GetDataRow(itemIndex);
|
||||
string cond = ReplaceHelper.ReplaceUserInfo(model.MenuCond);
|
||||
cond = RaiseBeforeHandleParamsCallback(model.ParamList, conditionRows, model.MenuCond, selectRow, cond);
|
||||
if (this._control != null)
|
||||
{
|
||||
cond = _control.ReplaceParentControlValue(model.MenuCond);
|
||||
cond = _control.ReplaceParentControlValue(cond);
|
||||
}
|
||||
cond = ReplaceHelper.ReplaceRowParam(selectRow, model.MenuCond);
|
||||
cond = ReplaceHelper.ReplaceRowParam(selectRow, cond);
|
||||
|
||||
if (model.Mergeexec&& cond.StartsWith("@"))
|
||||
{
|
||||
//替换[],替换的是多选行中的数据
|
||||
cond = ReplaceHelper.ReplaceRowParam(dataRows, cond.Replace("[", "{").Replace("]", "}"), "", "");
|
||||
cond = ReplaceHelper.ReplaceRowParam(conditionRows, cond.Replace("[", "{").Replace("]", "}"), "", "");
|
||||
}
|
||||
|
||||
if (this._gridView != null)
|
||||
@@ -151,6 +164,7 @@ namespace Lskj.Control.Model
|
||||
cond = cond.ReplaceColumnParam(cell.Column.Name, cell.Column.Caption, colValue);
|
||||
}
|
||||
}
|
||||
|
||||
if (ControlObj != null)
|
||||
{
|
||||
cond = ControlObj.ReplaceParentControlValue(cond);
|
||||
@@ -164,15 +178,19 @@ namespace Lskj.Control.Model
|
||||
condBuilder.Append($"({cond}) and ");
|
||||
}
|
||||
}
|
||||
string condStr = "";
|
||||
if (model.MenuCond.StartsWith("@"))
|
||||
string condStr = model.MenuCond;
|
||||
if (!string.IsNullOrWhiteSpace(sqlCondBuilder.ToString()) || !string.IsNullOrWhiteSpace(condBuilder.ToString()))
|
||||
{
|
||||
condStr = $"@if({sqlCondBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a')}) begin select '1' end else begin select '0' end";
|
||||
}
|
||||
else
|
||||
{
|
||||
condStr = condBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a');
|
||||
if (model.MenuCond.StartsWith("@"))
|
||||
{
|
||||
condStr = $"@if({sqlCondBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a')}) begin select '1' end else begin select '0' end";
|
||||
}
|
||||
else
|
||||
{
|
||||
condStr = condBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a');
|
||||
}
|
||||
}
|
||||
|
||||
condResult = ValidateCond(condStr, null);
|
||||
//if (!condResult) break;
|
||||
//cms.Enabled = ReplaceHelper.EvalCond(cond);
|
||||
|
||||
@@ -73,56 +73,58 @@ namespace Lskj.Control.Model.MenuStrip
|
||||
}
|
||||
protected override void MenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||
{
|
||||
DataRow[] mSelectRows = this.TreeGridControlObj.GetViewFocusedDataRows();
|
||||
if (mSelectRows == null || mSelectRows.Length == 0) return;
|
||||
|
||||
DataRow mSelectRow = mSelectRows[0];
|
||||
this._treeView.EndCurrentEdit();
|
||||
this._treeView.ShowEditor();
|
||||
DataRow[] mSelectRows = this.TreeGridControlObj.GetViewFocusedDataRows() ?? new DataRow[0];
|
||||
|
||||
ContextMenuStrip cmsMenu = (ContextMenuStrip)sender;
|
||||
cmsMenu.Items.Clear();
|
||||
cmsMenu.Items.AddRange(this.RightMenuItems.ToArray());
|
||||
|
||||
// 创建QQ、浏览器右键菜单
|
||||
List<ToolStripMenuItem> mQQArray = new List<ToolStripMenuItem>();
|
||||
List<ToolStripMenuItem> mBrowerArray = new List<ToolStripMenuItem>();
|
||||
|
||||
foreach (TreeListColumn column in this._treeView.Columns)
|
||||
if (mSelectRows.Length > 0)
|
||||
{
|
||||
if (!mSelectRow.Table.Columns.Contains(column.Name))
|
||||
continue;
|
||||
string rowValue = mSelectRow[column.Name] + "";
|
||||
if (!string.IsNullOrWhiteSpace(rowValue))
|
||||
DataRow mSelectRow = mSelectRows[0];
|
||||
this._treeView.EndCurrentEdit();
|
||||
this._treeView.ShowEditor();
|
||||
|
||||
// 创建QQ、浏览器右键菜单
|
||||
List<ToolStripMenuItem> mQQArray = new List<ToolStripMenuItem>();
|
||||
List<ToolStripMenuItem> mBrowerArray = new List<ToolStripMenuItem>();
|
||||
|
||||
foreach (TreeListColumn column in this._treeView.Columns)
|
||||
{
|
||||
GridColumnModel model = column.Tag as GridColumnModel;
|
||||
if (model == null) continue;
|
||||
|
||||
if (model.FieldType == ControlType.LabQQ)
|
||||
if (!mSelectRow.Table.Columns.Contains(column.Name))
|
||||
continue;
|
||||
string rowValue = mSelectRow[column.Name] + "";
|
||||
if (!string.IsNullOrWhiteSpace(rowValue))
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.qq);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(QQItemClick);
|
||||
mQQArray.Add(item);
|
||||
}
|
||||
GridColumnModel model = column.Tag as GridColumnModel;
|
||||
if (model == null) continue;
|
||||
|
||||
if (model.FieldType == ControlType.LabWWW &&
|
||||
(rowValue.StartsWith("www.") ||
|
||||
rowValue.StartsWith("http://") ||
|
||||
rowValue.StartsWith("https://") ||
|
||||
rowValue.StartsWith("ftp://") ||
|
||||
rowValue.StartsWith("file://")))
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.qq);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(BrowerItemClick);
|
||||
mBrowerArray.Add(item);
|
||||
if (model.FieldType == ControlType.LabQQ)
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.qq);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(QQItemClick);
|
||||
mQQArray.Add(item);
|
||||
}
|
||||
|
||||
if (model.FieldType == ControlType.LabWWW &&
|
||||
(rowValue.StartsWith("www.") ||
|
||||
rowValue.StartsWith("http://") ||
|
||||
rowValue.StartsWith("https://") ||
|
||||
rowValue.StartsWith("ftp://") ||
|
||||
rowValue.StartsWith("file://")))
|
||||
{
|
||||
ToolStripMenuItem item = new ToolStripMenuItem("(" + column.Caption + ")" + rowValue, Resources.qq);
|
||||
item.Tag = mSelectRow[column.Name] + "";
|
||||
item.Click += new EventHandler(BrowerItemClick);
|
||||
mBrowerArray.Add(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cmsMenu.Items.AddRange(mQQArray.ToArray());
|
||||
cmsMenu.Items.AddRange(mBrowerArray.ToArray());
|
||||
cmsMenu.Items.AddRange(mQQArray.ToArray());
|
||||
cmsMenu.Items.AddRange(mBrowerArray.ToArray());
|
||||
}
|
||||
|
||||
// 判断右键菜单是否可用
|
||||
foreach (ToolStripItem cms in cmsMenu.Items)
|
||||
@@ -139,19 +141,27 @@ namespace Lskj.Control.Model.MenuStrip
|
||||
StringBuilder sqlCondBuilder = new StringBuilder();
|
||||
List<TreeListCell> cells = this._treeView != null ? this._treeView.GetSelectedCells() : null;
|
||||
DataRow focusedRow = this.TreeGridControlObj.GetViewFocusedDataRow();
|
||||
foreach (DataRow selectRow in mSelectRows)
|
||||
|
||||
DataRow[] conditionRows = mSelectRows;
|
||||
if (model.AllowNullExec && conditionRows.Length == 0)
|
||||
{
|
||||
conditionRows = new DataRow[] { new DataTable().NewRow() };
|
||||
}
|
||||
|
||||
foreach (DataRow selectRow in conditionRows)
|
||||
{
|
||||
if (selectRow == null) continue;
|
||||
|
||||
string cond = string.Empty;
|
||||
string cond = ReplaceHelper.ReplaceUserInfo(model.MenuCond);
|
||||
cond = RaiseBeforeHandleParamsCallback(model.ParamList, conditionRows, model.MenuCond, selectRow, cond);
|
||||
if (this._control != null)
|
||||
cond = _control.ReplaceParentControlValue(model.MenuCond);
|
||||
cond = ReplaceHelper.ReplaceRowParam(selectRow, model.MenuCond);
|
||||
cond = _control.ReplaceParentControlValue(cond);
|
||||
cond = ReplaceHelper.ReplaceRowParam(selectRow, cond);
|
||||
|
||||
if (model.Mergeexec && cond.StartsWith("@"))
|
||||
{
|
||||
//替换[],替换的是多选行中的数据
|
||||
cond = ReplaceHelper.ReplaceRowParam(mSelectRows, cond.Replace("[", "{").Replace("]", "}"), "", "");
|
||||
cond = ReplaceHelper.ReplaceRowParam(conditionRows, cond.Replace("[", "{").Replace("]", "}"), "", "");
|
||||
}
|
||||
|
||||
if (cells != null && cells.Count > 0 && cond.Contains("{COLUMN_"))
|
||||
@@ -173,14 +183,17 @@ namespace Lskj.Control.Model.MenuStrip
|
||||
condBuilder.Append($"({cond}) and ");
|
||||
}
|
||||
}
|
||||
string condStr = "";
|
||||
if (model.MenuCond.StartsWith("@"))
|
||||
string condStr = model.MenuCond;
|
||||
if (!string.IsNullOrWhiteSpace(sqlCondBuilder.ToString()) || !string.IsNullOrWhiteSpace(condBuilder.ToString()))
|
||||
{
|
||||
condStr = $"@if({sqlCondBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a')}) begin select '1' end else begin select '0' end";
|
||||
}
|
||||
else
|
||||
{
|
||||
condStr = condBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a');
|
||||
if (model.MenuCond.StartsWith("@"))
|
||||
{
|
||||
condStr = $"@if({sqlCondBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a')}) begin select '1' end else begin select '0' end";
|
||||
}
|
||||
else
|
||||
{
|
||||
condStr = condBuilder.ToString().TrimEnd().TrimEnd('d', 'n', 'a');
|
||||
}
|
||||
}
|
||||
condResult = ValidateCond(condStr, null);
|
||||
//cms.Enabled = ReplaceHelper.EvalCond(cond);
|
||||
|
||||
@@ -4212,7 +4212,7 @@ namespace Lskj.Control.Model
|
||||
model.ModuleFrameDisplayText = item.Table.Columns.Contains("ModuleFrameDisplayText") ? "1".Equals(item["ModuleFrameDisplayText"] + "") : false;
|
||||
model.InputBoxFontSize = item.Table.Columns.Contains("InputBoxFontSize") && !string.IsNullOrEmpty(item["InputBoxFontSize"] + "") ? Convert.ToInt32(item["InputBoxFontSize"] + "") : 0;
|
||||
model.RememberValue = item.Table.Columns.Contains("RememberValue") ? "1".Equals(item["RememberValue"] + "") : false;
|
||||
|
||||
model.SumlistField = item.Table.Columns.Contains("SumlistField") ? item["SumlistField"] + "" : "";
|
||||
|
||||
//为了和工具里和bs里统一
|
||||
if (model.FieldType == 42)
|
||||
|
||||
Reference in New Issue
Block a user