/// <summary>
        /// 绑定角色数据
        /// </summary>
        private void BindRoleData()
        {
            lstRoles.Items.Clear();

            DataTable dtRol = _rwm.GetRoleInfo(cbxDepartment.SelectedValue.ToString());

            foreach (DataRow dr in dtRol.Rows)
            {
                RoleInfoData rid = new RoleInfoData();
                rid.BindRowData(dr);

                ListViewItem lvi = lstRoles.Items.Add(rid.角色名称);
                lvi.Tag        = rid.角色ID;
                lvi.ImageIndex = 0;
            }
        }
Esempio n. 2
0
        private void BindRoleData()
        {
            //点击刷新,重复加载list列表情况,先清空数据,列名
            listView1.Items.Clear();
            listView1.Columns.Clear();
            DataTable dtBodypart = _rm.GetRoleInfo(cbxDepartment.SelectedValue.ToString());

            foreach (DataColumn dc in dtBodypart.Columns)
            {
                if (("角色名称").IndexOf(dc.Caption) >= 0)
                {
                    ColumnHeader columnHeader = new ColumnHeader();
                    columnHeader.Text  = dc.Caption;
                    columnHeader.Name  = dc.Caption;
                    columnHeader.Width = 200;
                    listView1.Columns.Add(columnHeader);
                }
                //分组标记列宽度设为0,隐藏
                if (("分组标记").IndexOf(dc.Caption) >= 0)
                {
                    ColumnHeader columnHeader = new ColumnHeader();
                    columnHeader.Text  = dc.Caption;
                    columnHeader.Name  = dc.Caption;
                    columnHeader.Width = 0;
                    listView1.Columns.Add(columnHeader);
                }
            }


            DataTable dtGroup = _rm.GetRoleGroups(cbxDepartment.SelectedValue.ToString());

            foreach (DataRow dr in dtGroup.Rows)
            {
                string groupTag  = dr["分组标记"].ToString();
                string groupName = (string.IsNullOrEmpty(groupTag)) ? "未分组" : groupTag;

                ListViewGroup lvg = new ListViewGroup(groupName);
                listView1.Groups.Add(lvg);


                if (cbxRoleGroup.Items.IndexOf(groupTag) < 0)
                {
                    cbxRoleGroup.Items.Add(groupTag);
                }
            }


            foreach (DataRow drItem in dtBodypart.Rows)
            {
                RoleInfoData roleData = new RoleInfoData();
                roleData.BindRowData(drItem);

                string gn = (string.IsNullOrEmpty(roleData.分组标记)) ? "未分组" : roleData.分组标记;

                ListViewGroup lvgCur = GetCurGroup(gn);


                ListViewItem itemNew = new ListViewItem(new string[] { roleData.角色名称, gn }, 0, lvgCur);
                //添加Name属性赋值,否则listView1.Items.Find无法查找
                itemNew.Name = roleData.角色ID;
                itemNew.Tag  = roleData;

                listView1.Items.Add(itemNew);
            }

            listView1.View = View.Details;
        }