#region using System; using System.Collections.Generic; using System.Data; using System.Text; using System.Windows.Forms; using CSFrameworkV5.Business; using CSFrameworkV5.Core; using CSFrameworkV5.Models; #endregion namespace CSFrameworkV5.Library { public partial class frmChoiceGroupOrUser : Form { private frmChoiceGroupOrUser() { InitializeComponent(); } private void btnCancel_Click(object sender, EventArgs e) { Close(); } private void btnOK_Click(object sender, EventArgs e) { btnOK.Tag = "OK"; Close(); } public static bool ExecuteGroup(ref string selectedGroupIDs) { var form = new frmChoiceGroupOrUser(); form.InitGroup(selectedGroupIDs); form.ShowDialog(); selectedGroupIDs = form.GetSelectedIDs( form.listGroup.DataSource as List); return form.btnOK.Tag != null; } public static bool ExecuteUser(ref string selectedUserIDs) { var form = new frmChoiceGroupOrUser(); form.InitUser(selectedUserIDs); form.ShowDialog(); selectedUserIDs = form.GetSelectedIDs( form.listUser.DataSource as List); return form.btnOK.Tag != null; } private void frmChoiceGroupOrUser_Load(object sender, EventArgs e) { // } private string GetSelectedIDs(List list) { var sb = new StringBuilder(); foreach (var o in list) if (o.Checked) sb.Append(o.Code + ";"); return sb.ToStringEx(); } private void InitGroup(string selectedGroupIDs) { selectedGroupIDs = ";" + selectedGroupIDs + ";"; var groups = selectedGroupIDs.Split(';'); var list = new List(); foreach (DataRow R in DataDictCache.Cache.UserGroup.Rows) list.Add( new CheckItemObject(R[tb_MyGroup.GroupCode].ToStringEx(), R[tb_MyGroup.GroupName].ToStringEx())); foreach (var o in list) o.Checked = selectedGroupIDs.IndexOf(";" + o.Code + ";") >= 0; listGroup.ValueMember = "Code"; listGroup.DisplayMember = "Name"; listGroup.CheckMember = "Checked"; listGroup.DataSource = list; xtraTabPage2.PageVisible = false; } private void InitUser(string selectedUserIDs) { selectedUserIDs = ";" + selectedUserIDs + ";"; var users = selectedUserIDs.Split(';'); var list = new List(); foreach (DataRow R in DataDictCache.Cache.User.Rows) list.Add(new CheckItemObject(R[tb_MyUser.Account].ToStringEx(), R[tb_MyUser.UserName].ToStringEx())); foreach (var o in list) o.Checked = selectedUserIDs.IndexOf(";" + o.Code + ";") >= 0; listUser.ValueMember = "Code"; listUser.DisplayMember = "Name"; listUser.CheckMember = "Checked"; listUser.DataSource = list; xtraTabPage1.PageVisible = false; } } }