Beispiel #1
0
 private void gvTo_MouseDown(object sender, MouseEventArgs e)
 {
     try
     {
         GridHitInfo hInfo = gvTo.CalcHitInfo(new Point(e.X, e.Y));
         if (e.Button == MouseButtons.Left && e.Clicks == 2)     //  判断是否左键双击
         {
                             {
                                     //判断光标是否在行范围内
                                         if (hInfo.InRow)
                 {
                     int idx = gvTo.FocusedRowHandle;
                     if (idx >= 0)
                     {
                         BDictRole role = gvTo.GetRow(idx) as BDictRole;
                         (gcFrom.DataSource as List <BDictRole>).Add(role);
                         gcFrom.RefreshDataSource();
                         gvTo.DeleteRow(idx);
                     }
                 }
             }
         }
     }
     catch { }
 }
Beispiel #2
0
        private void btnDel_Click(object sender, EventArgs e)
        {
            int[] dataRowIndexs = gvTo.GetSelectedRows();
            if (dataRowIndexs == null)
            {
                return;
            }

            //在可分配中添加对应记录
            foreach (int rowIndex in dataRowIndexs)
            {
                BDictRole role = gvTo.GetRow(rowIndex) as BDictRole;
                (gcFrom.DataSource as List <BDictRole>).Add(role);
            }
            gcFrom.RefreshDataSource();
            //在已分配中删除对应记录
            gvTo.DeleteSelectedRows();
        }
Beispiel #3
0
        /// <summary>
        ///  设置数据源
        /// </summary>
        /// <param name="role_all">所有可选的角色</param>
        /// <param name="role_selected">已经选择的角色</param>
        /// <param name="include_center">是否包含中心角色</param>
        public void SetDataSource(List <BDictRole> role_all, List <BDictRole> role_selected, bool include_center = true)
        {
            this.includeCenter = include_center;
            List <BDictRole> roleSelected = new List <BDictRole>();  //  选择的角色
            List <BDictRole> roleAll      = new List <BDictRole>();  //  所有的角色

            if (role_all != null)
            {
                if (includeCenter)
                {
                    roleAll.AddRange(role_all);
                }
                else
                {
                    roleAll.AddRange(role_all.FindAll(o => o.Id > 100000));    //  100000以内的代表中心定义的角色
                }
            }
            if (role_selected != null)
            {
                roleSelected.AddRange(role_selected);
            }

            //  清除已选角色
            foreach (BDictRole role in roleSelected)
            {
                BDictRole role1 = roleAll.Find(o => { return(o.Code == role.Code); });
                if (role1 != null)
                {
                    role.Code = role1.Code;
                    //  防止被选角色中没有输入码
                    role.Inputcode1 = role1.Inputcode1;
                    role.Inputcode2 = role1.Inputcode2;

                    roleAll.Remove(role1);
                }
            }

            this.gcFrom.DataSource = roleAll;
            this.gcTo.DataSource   = roleSelected;
        }