#region using System; using System.Data; using CSFrameworkV5.Business; using CSFrameworkV5.Business.BLL_Permission; using CSFrameworkV5.CodeGeneratorCore; using CSFrameworkV5.Core; using CSFrameworkV5.Library.CommonClass; using CSFrameworkV5.Library.UIForm; using CSFrameworkV5.Models; #endregion namespace CSFrameworkV5.Library.PermissionForms { public partial class frmGroupOrganization_Editor : frmBaseUI { private bllGroup _BLL = new bllGroup(); private DataTable _DataSource; private string _RowID = ""; //主键值,当前组织架构的主键值。若是新增记录,返回新的GUID值。 private bool _SaveOK; //是否保存成功 //私有构造器 private frmGroupOrganization_Editor() { InitializeComponent(); } private void btnClose_Click(object sender, EventArgs e) { Close(); } private void btnSave_Click(object sender, EventArgs e) { //重要! 必须结束当前记录的编辑状态 _DataSource.Rows[0].EndEdit(); var dtTmp = _DataSource.GetChanges(); dtTmp.Rows[0][tb_MyGroup.LastUpdateDate] = DateTime.Now; dtTmp.Rows[0][tb_MyGroup.LastUpdatedBy] = Loginer.CurrentUser.Account; //dtTmp.Rows[0][tb_MyGroup.ParentGroupCode] = txtParentGroupCode.EditValue; _SaveOK = _BLL.Update(dtTmp); if (_SaveOK) { _RowID = dtTmp.Rows[0][tb_MyGroup.RowID].ToStringEx(); MsgEx.ShowInformation("保存成功!"); Close(); } } /// /// 打开编辑窗体 /// /// 当前组织架构的主键值。若是新增记录,返回新的GUID值 /// 是否保存成功 public static bool Execute(ref string rowID) { var form = new frmGroupOrganization_Editor(); form.InitEditor(rowID); form.ShowDialog(); rowID = form._RowID; return form._SaveOK; } private void frmGroupOrganization_Editor_Load(object sender, EventArgs e) { } private void InitEditor(string rowID) { //记录主键为空,新增组织架构 if (string.IsNullOrEmpty(rowID)) { //获取空数据源 _DataSource = _BLL.GetDataByKey("-"); //添加一条记录,并设置主键值RowID _DataSource.Rows.Add(_DataSource.NewRow()); _DataSource.Rows[0][tb_MyGroup.RowID] = Guid.NewGuid().ToStringEx().Replace("-", ""); _DataSource.Rows[0][tb_MyGroup.DataSetID] = Loginer.CurrentUser.DBID; } else //编辑组织架构 { //绑定数据源 _DataSource = _BLL.GetDataByKey(rowID); txtGroupCode.Enabled = false; txtParentGroupCode.Enabled = false; } var attrs = DataDictCache.Cache.CustomerAttributes; txtAttributeCodes.BindingDataSource(attrs, "AttributeCode", "NativeName"); DataBinderTools.BoundUser(txtOwner1); DataBinderTools.BoundUser(txtOwner2); DataBinderTools.BoundUser(txtLastUpdatedBy); DataBinderTools.BoundOrganization(txtParentGroupCode, imageList1); DataBinderTools.BoundCheckEdit(txtIsVisible); //绑定输入框数据源 CommonTools.DoBindingEditorPanel(pcEditor, _DataSource); //在此可绑定其它自定义的输入框,参考frmCustomer的DoBindingSummaryEditor方法 DataBinder.BindingControl(txtAttributeCodes, _DataSource, tb_MyGroup.AttributeCodes, "EditValue"); DataBinder.BindingControl(txtParentGroupCode, _DataSource, tb_MyGroup.ParentGroupCode, "EditValue"); DataBinder.BindingCheckEdit(txtIsVisible, _DataSource, tb_MyGroup.IsVisible); //CommonTools.SetEditorBindingValue(txtParentGroupCode, _DataSource.Rows[0][tb_MyGroup.ParentGroupCode], true); btnClose.Focus(); } //检查主表数据完整性 protected bool ValidatingData() { if (ConvertEx.ToString(txtGroupCode.EditValue).Trim() == string.Empty) { MsgEx.ShowWaring("组织编号不能为空!"); txtGroupCode.Focus(); return false; } if (ConvertEx.ToString(txtGroupName.EditValue).Trim() == string.Empty) { MsgEx.ShowWaring("组织名称不能为空!"); txtGroupName.Focus(); return false; } if (ConvertEx.ToString(txtAttributeCodes.EditValue).Trim() == string.Empty) { MsgEx.ShowWaring("类别不能为空!"); txtAttributeCodes.Focus(); return false; } if (ConvertEx.ToString(txtOwner1.EditValue).Trim() == string.Empty) { MsgEx.ShowWaring("主管不能为空!"); txtOwner1.Focus(); return false; } return true; } } }