/// <summary> /// 设定显示窗口的实体 /// </summary> /// <param name="ent"></param> void SetPropertyGridEnt(UserGroupParameter ent) { if (ent == null) { return; } //深度克隆 _srcEnt = ent.DeepClone(); //设置只读属性为否,可以修改属性值 _userGroupName.ReadOnly = false; _remarks.ReadOnly = false; //设置个属性值 _userGroupName.Value = ent.GroupName; _userCount.Value = ent.UserCount; _remarks.Value = ent.Remark; //删除旧信息 int preCnt = _paramProp.Count; for (int i = 0; i < preCnt; i++) { _props.Remove(_paramProp[i]); } _paramProp.Clear(); //添加新属性实体 _propInfo.SelectedObject = _props; }
/// <summary> /// 深度克隆 /// </summary> /// <returns></returns> public UserGroupParameter DeepClone() { UserGroupParameter cpyEnt = new UserGroupParameter(); cpyEnt.GroupName = GroupName; cpyEnt.UserCount = UserCount; cpyEnt.Remark = Remark; return(cpyEnt); }
/// <summary> /// farpoint选择变化时 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void fpUserInfo_SelectionChanged(object sender, FarPoint.Win.Spread.SelectionChangedEventArgs e) { //获取选择行的行索引 int n = this._fpUserGroupInfo.ActiveSheet.ActiveCell.Row.Index; //设定属性窗口是否启用,当选择的单元格所在行,无用户组名称时,不启用 if (CurrentUser.CurLoginUserInfo.Permission != Permission.普通用户.ToString()) { _propInfo.Enabled = this._fpUserGroupInfo.ActiveSheet.Cells[n, 1].Value == null ? false : true; } //点击标题时,返回 if (n < 2) { return; } //组名 string groupname = ""; //人数 string usercount = ""; //备注 string remark = ""; if (this._fpUserGroupInfo.ActiveSheet.Cells[n, 1].Value != null) { groupname = this._fpUserGroupInfo.ActiveSheet.Cells[n, 1].Value.ToString(); } if (this._fpUserGroupInfo.ActiveSheet.Cells[n, 2].Value != null) { usercount = this._fpUserGroupInfo.ActiveSheet.Cells[n, 2].Value.ToString(); } if (this._fpUserGroupInfo.ActiveSheet.Cells[n, 3].Value != null) { remark = this._fpUserGroupInfo.ActiveSheet.Cells[n, 3].Value.ToString(); } //属性窗口显示的值 UserGroupParameter ugp = new UserGroupParameter(groupname, usercount, remark); //设置属性值 SetPropertyGridEnt(ugp); }