using DevExpress.XtraBars; using Lskj.Control.Model; using Lskj.Model; using Lskj.Util; 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; namespace Lskj.Control { public partial class ErrorRestriction : BaseForm { /// /// 存储过程提示的报错信息 /// public string PromptMessage; /// /// 入口参数 /// public DynamicModel model; /// /// 主表控件 /// public MyControl myControl; /// /// 右键中点击的菜单 /// public BarItemLink ItemLink; /// /// 单据对象 /// public BillModel BillModel; /// /// 单据编号 /// public string DocumentNumber; public ErrorRestriction() { InitializeComponent(); } /// /// 单据进入 /// /// /// /// /// /// /// public ErrorRestriction(string msg, DynamicModel dynamicmodel, MyControl control, BarItemLink barItemLink, BillModel billModel,string billId ) { InitializeComponent(); this.model = dynamicmodel; this.myControl = control; this.ItemLink = barItemLink; this.BillModel = billModel; this.DocumentNumber = billId; lbTips.Text=this.PromptMessage = msg; //报错提示 btnRefresh.Text = barItemLink.Caption;//按钮名称 this.btnRefresh.Click += BtnRefresh_Click; } /// /// 基础模块进入 /// /// /// /// /// public ErrorRestriction(string msg, DynamicModel dynamicmodel, MyControl control, BarItemLink barItemLink) { InitializeComponent(); this.model = dynamicmodel; this.myControl = control; this.ItemLink = barItemLink; lbTips.Text = this.PromptMessage = msg; //报错提示 btnRefresh.Text = barItemLink.Caption;//按钮名称 this.btnRefresh.Click += BtnRefresh_Click; } /// /// 确认按钮点击 /// /// /// private void BtnRefresh_Click(object sender, EventArgs e) { DataRow rowItem = ItemLink.Item.Tag as DataRow; CommonMenu menu = new CommonMenu(this.model, this.myControl); if(this.BillModel != null||!string.IsNullOrWhiteSpace(this.DocumentNumber)) menu.ApplyBefore += new CommonToolApplyEventHandler(OnMenuApplyBefore);//如果是单据,添加回调 menu.Apply(rowItem); } /// /// 说明:执行前单独替换BilldocumentId /// 创建人:龚宇超 /// 创建日期:2018-03-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The e. protected void OnMenuApplyBefore(ApplyArgs e) { string[] paramList = new string[e.MemuModel.ParamList.Count]; for (int i = 0; i < e.MemuModel.ParamList.Count; i++) { string item = e.MemuModel.ParamList[i]; List condition = ReplaceHelper.GetParamFields(item); foreach (string cond in condition) { string value = this.BillModel.PrimaryKey.Equals(cond.Replace("{", "").Replace("}", "").ToLower(), StringComparison.OrdinalIgnoreCase) ? this.DocumentNumber : cond; item = item.Replace(cond, value); ; } paramList[i] = item; } e.MemuModel.ParamList = paramList.ToList(); } /// /// 点击取消按钮 /// /// /// private void simpleButton1_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; } } }