/// <summary> /// 修改焦点对象 /// </summary> public void UpdateObject() { //获取焦点对象 LayoutANTL obj = FocusedObject; if (obj == null) { return; } //创建对象的一个副本 LayoutANTL objCopy = new LayoutANTL(); DataConverter.CopyTo <LayoutANTL>(obj, objCopy); //执行修改操作 using (FrmLayoutDialogANTL dlg = new FrmLayoutDialogANTL()) { dlg.Object = objCopy; //绑定副本 if (dlg.ShowDialog() != DialogResult.OK) { return; } } //用副本更新焦点对象 DataConverter.CopyTo <LayoutANTL>(objCopy, obj); //刷新表格 gridControl.RefreshDataSource(); }
/// <summary> /// 删除焦点对象 /// </summary> public void DeleteObject() { //获取焦点对象 LayoutANTL obj = FocusedObject; if (obj == null) { return; } IList <LayoutContentANTL> Li = Services.BaseService.GetList <LayoutContentANTL>("SelectLayoutContentANTLByLayoutID", obj.UID); if (Li.Count > 0) { MsgBox.Show("该规划下面已经存在章节,无法删除"); return; } //请求确认 if (MsgBox.ShowYesNo(Strings.SubmitDelete) != DialogResult.Yes) { return; } //执行删除操作 try { Services.BaseService.Delete <LayoutANTL>(obj); Services.BaseService.Update("DeleteLayoutType", obj.UID); } catch (Exception exc) { Debug.Fail(exc.Message); HandleException.TryCatch(exc); return; } this.gridView.BeginUpdate(); //记住当前焦点行索引 int iOldHandle = this.gridView.FocusedRowHandle; //从链表中删除 ObjectList.Remove(obj); //刷新表格 gridControl.RefreshDataSource(); //设置新的焦点行索引 GridHelper.FocuseRowAfterDelete(this.gridView, iOldHandle); this.gridView.EndUpdate(); }
/// <summary> /// 添加对象 /// </summary> public void AddObject() { //检查对象链表是否已经加载 if (ObjectList == null) { return; } //新建对象 LayoutANTL obj = new LayoutANTL(); obj.UID = Guid.NewGuid().ToString() + "|" + vp.ProjectUID; obj.Creater = vp.ProjectUID;// Itop.Client.MIS.UserNumber; //obj.CreaterName = Itop.Client.MIS.UserName; try { obj.CreateDate = (DateTime)Services.BaseService.GetObject("SelectSysData", null); } catch { } //执行添加操作 using (FrmLayoutDialogANTL dlg = new FrmLayoutDialogANTL()) { dlg.IsCreate = true; //设置新建标志 dlg.Object = obj; if (dlg.ShowDialog() != DialogResult.OK) { return; } } //将新对象加入到链表中 ObjectList.Add(obj); //////LayoutType lt1 = Services.BaseService.GetOneByKey<LayoutType>(obj.UID); //////if (lt1 == null) //////{ ////// lt1 = new LayoutType(); ////// lt1.UID = obj.UID; ////// LayoutType lt2 = Services.BaseService.GetOneByKey<LayoutType>("LayoutModule"); ////// lt1.ExcelData = lt2.ExcelData; ////// Services.BaseService.Create<LayoutType>(lt1); //////} //刷新表格,并将焦点行定位到新对象上。 gridControl.RefreshDataSource(); GridHelper.FocuseRow(this.gridView, obj); }