private void tlSysObject_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { if (e.Node == null) { this.ucSysModule1.Visible = false; this.ucSysObject1.Visible = false; this.bbiEditModule.Visibility = BarItemVisibility.Never; this.bbiEditObject.Visibility = BarItemVisibility.Never; this.bbiAddObject.Visibility = BarItemVisibility.Never; return; } string code = e.Node.GetValue(this.tlcCode).ToString(); string moduleCode = e.Node.GetValue(tlcParentCode).ToString(); if (string.IsNullOrEmpty(moduleCode)) { CDictModule module = e.Node.Tag as CDictModule; this.FreshModule(module); } else { CDictObject obj = e.Node.Tag as CDictObject; string objectCode = obj.Code; var parmList = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("objectCode", objectCode) }; CustomException ce = null; // 获取功能对应的功能点 List <CDictFunctionPoint> fps = HttpDataHelper.GetWithInfo <List <CDictFunctionPoint> >("BASE", "/setup/fplist", out ce, parmList); obj.FunctionPointList = fps; this.FreshObject(obj); } }
private void FreshModule(CDictModule module) { this.ucSysModule1.Visible = true; this.ucSysObject1.Visible = false; this.bbiAddObject.Visibility = BarItemVisibility.Always; this.bbiEditModule.Visibility = BarItemVisibility.Always; this.bbiEditObject.Visibility = BarItemVisibility.Never; this.ucSysModule1.Init(module); this.ucSysModule1.SetStatus(false); }
private void btnSave_Click(object sender, EventArgs e) { // 保存数据 this.DataModule = this.ucSysModule1.GetData(); if (this.DataModule != null) { String str = StringHelper.SerializeObject <CDictModule>(this.DataModule); CustomException ce = null; HttpDataHelper.HttpPostWithInfo("BASE", "/setup/moduleset", out ce, str); this.DialogResult = DialogResult.OK; } }
/// <summary> /// 数据初始化 /// </summary> /// <param name="data"></param> public void Init(CDictModule data) { this.txtCode.Text = data.Code; this.txtName.Text = data.Name; this.txtFilename.Text = data.FileName; this.txtVersion.Text = data.Version; if (!String.IsNullOrEmpty(data.FileTime)) { this.deFileTime.DateTime = DateTime.Parse(data.FileTime); } this.meDescribe.Text = data.Describe; this.ckUsedFlag.Checked = (data.UsedFlag == 1); }
private void bbiEditModule_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { TreeListNode mnode = this.tlSysObject.FocusedNode; if (mnode != null) { CDictModule module = mnode.Tag as CDictModule; if (module != null) { FrmModuleEdit frm = new FrmModuleEdit(); frm.Init(module); if (frm.ShowDialog() == DialogResult.OK) { module = frm.DataModule; mnode.SetValue(tlcName, module.Name); mnode.SetValue(tlcUsedFlag, module.UsedFlag); mnode.Tag = module; this.ucSysModule1.Init(module); } frm.Dispose(); } } }
/// <summary> /// 获取对象名称(模块名 + 对象名) /// </summary> /// <returns></returns> private string getObjectName() { string object_name = string.Empty; if (!string.IsNullOrEmpty(this.objectCode)) { CDictObject obj = this.ObjectList.Find(o => { return(o.Code == this.objectCode); }); if (obj != null) { CDictModule module = this.ModuleList.Find(o => { return(o.Code == obj.ModuleCode); }); if (module != null) { object_name = module.Name + " --- " + obj.Name; try { // 查找参数说明 Assembly theDll = Assembly.LoadFrom(EnvInfo.RunPath + module.FileName + ".dll"); Type type = theDll.GetType(module.FileName + "." + obj.Object); FormParmDescAttribute attr = type.GetCustomAttribute(typeof(FormParmDescAttribute)) as FormParmDescAttribute; if (attr != null) { this.beParameter.Properties.Buttons[0].Visible = true; this.beParameter.Properties.Buttons[0].ToolTip = "描述:" + attr.Description + "\r\n实例:" + attr.Example; } else { this.beParameter.Properties.Buttons[0].Visible = false; } } catch { } } } } return(object_name); }
/// <summary> /// 获取数据 /// </summary> /// <param name="data">实体</param> public CDictModule GetData() { txtName.ErrorText = null; if (string.IsNullOrEmpty(this.txtName.Text.Trim())) { txtName.ErrorText = "模块名称不可为空!"; txtName.ErrorIconAlignment = ErrorIconAlignment.MiddleRight; txtName.Focus(); return(null); } CDictModule data = new CDictModule(); data.Code = this.txtCode.Text; data.Name = this.txtName.Text; data.FileName = this.txtFilename.Text; data.Version = this.txtVersion.Text; data.FileTime = this.deFileTime.DateTime.ToString("yyyy-MM-dd HH:mm:ss"); data.Describe = this.meDescribe.Text; data.UpdateEmpid = EmpInfo.Id; data.UsedFlag = this.ckUsedFlag.Checked ? 1 : 0; return(data); }
public void Init(CDictModule module) { this.ucSysModule1.Init(module); this.ucSysModule1.SetStatus(true); }
private void bbiAddModule_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { // TEST //LocalInfoHelper.SendOpenForm("TITLE", "His6.SysSetup", "FrmMenuSetup", "", 1); // 选择模块文件 OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Title = "选择模块文件"; openFileDialog1.InitialDirectory = EnvInfo.RunPath; openFileDialog1.Filter = "动态文件 (*.dll)|*.dll"; openFileDialog1.FilterIndex = 1; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { string filename = openFileDialog1.FileName; int pos = filename.LastIndexOf(@"\"); string module_name = filename.Substring(pos + 1); module_name = module_name.Substring(0, module_name.Length - 4); // 判断模块文件是否已经加入 bool found = false; TreeListNode node = this.tlSysObject.Nodes.FirstNode; while (node != null) { if (node.GetValue(this.tlcObject).ToString() == module_name) { found = true; break; } node = node.NextNode; } if (found) { MessageHelper.ShowError("模块文件已经在数据中..."); return; } // 打开模块选择窗口 FrmModuleAdd frm = new FrmModuleAdd(); if (frm.ImpModule(filename)) { if (frm.ShowDialog(this) == DialogResult.OK) { // 成功加入模块数据 CDictModule module = frm.DataModule; List <CDictObject> objectList = frm.DataObjectList; // 添加节点 this.tlSysObject.FocusedNodeChanged -= tlSysObject_FocusedNodeChanged; this.tlSysObject.BeginUpdate(); // 停止控件刷新 TreeListNode rnode = this.tlSysObject.Nodes.Add(new object[] { module.Code, module.Name, module.FileName, module.UsedFlag, "" }); rnode.Tag = module; foreach (CDictObject obj in objectList) { TreeListNode onode = rnode.Nodes.Add(new object[] { obj.Code, obj.Name, obj.Object, obj.UsedFlag, obj.ModuleCode }); onode.Tag = obj; } this.tlSysObject.FocusedNodeChanged += tlSysObject_FocusedNodeChanged; this.tlSysObject.EndUpdate(); // 控件刷新从BeginUpdate开始的改变 this.tlSysObject.FocusedNode = rnode; if (!this.ucSysModule1.Visible) // 没有任何数据第一条加入时不会触发行更改事件 { this.FreshModule(module); } } } frm.Dispose(); } }