using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
using DBUtility; 
 | 
  
 | 
namespace SCM 
 | 
{ 
 | 
    public partial class Gy_UserByOrgRelation : Form 
 | 
    { 
 | 
        public frmBillQueryCondition_Base frmCondition; 
 | 
        public const string ViewName = "h_v_Gy_UserByOrgRelationList"; 
 | 
        public DBUtility.ClsPub.Enum_InputMode InputMode;  //录入状态标志(0-非录入状态 1-增加 2-修改) 
 | 
        public string sCzybm; //用户编码 
 | 
        public string sCzymc; //用户名称 
 | 
  
 | 
        public WMSWeb.WebService1 oWeb = new WMSWeb.WebService1(); 
 | 
  
 | 
        public Gy_UserByOrgRelation() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
  
 | 
        //以下代码基本不需要修改 
 | 
        #region 固定代码 
 | 
  
 | 
        //保存GRID列宽 
 | 
        private void Gy_UserByOrgRelation_FormClosing(object sender, FormClosingEventArgs e) 
 | 
        { 
 | 
            DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);   
 | 
        } 
 | 
  
 | 
        //窗体加载 
 | 
        private void Gy_UserByOrgRelation_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            //设置动态URL 
 | 
            oWeb.Url = ClsPub1.WEBSURL; 
 | 
            // 
 | 
            txtCzybm.ReadOnly = true; 
 | 
            txtCzymc.ReadOnly = true; 
 | 
            frmCondition = new frmBillQueryCondition_Base(); 
 | 
            initGrid(); 
 | 
            RefreshTool(); 
 | 
        } 
 | 
  
 | 
        //初始化GRID 
 | 
        private void initGrid() 
 | 
        { 
 | 
            DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name); 
 | 
        } 
 | 
  
 | 
        //刷新TOOLBAR 
 | 
        private void RefreshTool()//Lock 
 | 
        { 
 | 
            if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_View) 
 | 
            { 
 | 
                stTab.SelectedIndex = 0; 
 | 
                stTab.TabPages.Remove(this.tabPage2); 
 | 
                stTab.TabPages.Remove(this.tabPage1); 
 | 
                stTab.TabPages.Add(this.tabPage1); 
 | 
                grdMain.Enabled = true; 
 | 
                bj.Enabled = true; 
 | 
                sc.Enabled = true; 
 | 
                sx.Enabled = true; 
 | 
                tc.Enabled = true; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                stTab.SelectedIndex = 1; 
 | 
                stTab.TabPages.Remove(this.tabPage1); 
 | 
                stTab.TabPages.Remove(this.tabPage2); 
 | 
                stTab.TabPages.Add(this.tabPage2); 
 | 
                stTab.TabPages[0].Hide(); 
 | 
                grdMain.Enabled = false; 
 | 
                bj.Enabled = false; 
 | 
                sc.Enabled = false; 
 | 
                sx.Enabled = false; 
 | 
                tc.Enabled = true; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private Int32 Fun_GetCol(string sCol)//Lock 
 | 
        { 
 | 
            return DBUtility.Gy_BaseFun.Fun_GetCol(sCol, grdMain); 
 | 
        } 
 | 
  
 | 
        //时间控件 
 | 
        private void timer1_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = false; 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        private void grdMain_DoubleClick(object sender, EventArgs e) 
 | 
        { 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
            RefreshTool(); 
 | 
            ShowData(); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
  
 | 
        #region 功能控件处理 
 | 
  
 | 
        //编辑 
 | 
        private void bj_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (DBUtility.Gy_BaseFun.AllowRow(grdMain)) 
 | 
            { 
 | 
                InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
                RefreshTool(); 
 | 
                ShowData(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //读取类 到 控件 
 | 
        private void ShowData() 
 | 
        { 
 | 
            LbYes.Items.Clear(); 
 | 
            LbNo.Items.Clear(); 
 | 
            sCzybm = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("用户编码")].Value); 
 | 
            sCzymc = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("用户名称")].Value); 
 | 
            try 
 | 
            { 
 | 
                txtCzybm.Text = sCzybm; 
 | 
                txtCzymc.Text = sCzymc; 
 | 
  
 | 
                //加载不属于组织 
 | 
                DataSet oDs1 = oWeb.getDataSetBySQL("select a.HItemID,a.Hname from Xt_ORGANIZATIONS a with(nolock) left join Gy_UserByOrgRelation b with(nolock) on a.HItemID=b.HOrgID and (isnull(b.HUserID,'')='" + sCzybm + "' or isnull(b.HUserID,'')='')" 
 | 
                + " where isnull(b.HItemID,'')=''", "Gy_UserByOrgRelation", ref ClsPub.sExeReturnInfo); 
 | 
  
 | 
                if (oDs1.Tables[0].Rows.Count != 0) 
 | 
                { 
 | 
                    for (int i = 0; i <= oDs1.Tables[0].Rows.Count - 1; i++) 
 | 
                    { 
 | 
                        LbNo.Items.Add(oDs1.Tables[0].Rows[i][0].ToString().Trim() + "-" + oDs1.Tables[0].Rows[i][1].ToString().Trim()); 
 | 
                    } 
 | 
                } 
 | 
                //加载属于组织 
 | 
                DataSet oDs2 = oWeb.getDataSetBySQL("select a.HItemID,a.Hname from Xt_ORGANIZATIONS a with(nolock) left join Gy_UserByOrgRelation b with(nolock) on a.HItemID=b.HOrgID and (isnull(b.HUserID,'')='" + sCzybm + "' or isnull(b.HUserID,'')='')" 
 | 
                + " where isnull(b.HItemID,'')<>''", "Gy_UserByOrgRelation", ref ClsPub.sExeReturnInfo); 
 | 
  
 | 
                if (oDs2.Tables[0].Rows.Count != 0) 
 | 
                { 
 | 
                    for (int i = 0; i <= oDs2.Tables[0].Rows.Count - 1; i++) 
 | 
                    { 
 | 
                        LbYes.Items.Add(oDs2.Tables[0].Rows[i][0].ToString().Trim() + "-" + oDs2.Tables[0].Rows[i][1].ToString().Trim()); 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show(e.Message, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //删除 
 | 
        private void sc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HItemID")].Value) == 0) 
 | 
            { 
 | 
                MessageBox.Show("当前用户没有对应组织权限信息,无需删除", "提示"); 
 | 
                return; 
 | 
            } 
 | 
            else if (MessageBox.Show("确定要删除当前用户对应组织权限?" + grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("用户名称")].Value.ToString() + ",对应组织:" + grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("对应组织名称")].Value.ToString(), "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            DeleteBill(); 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        private void DeleteBill() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                oWeb.getRunProc("delete from Gy_UserByOrgRelation where HItemID=" + DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HItemID")].Value.ToString()), ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show(e.Message, "提示"); 
 | 
                return; 
 | 
            } 
 | 
            MessageBox.Show("删除成功!", "提示"); 
 | 
        } 
 | 
  
 | 
        //刷新 
 | 
        private void xs_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        //显示列表 
 | 
        private void Display() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                DataSet oDs = new DataSet(); 
 | 
                oDs = oWeb.getDataSetBySQL("select * from " + ViewName + " order by 用户名称", ViewName, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                if (oDs == null) 
 | 
                { 
 | 
                    MessageBox.Show("无用户信息!原因:" + DBUtility.ClsPub.sExeReturnInfo); 
 | 
                    return; 
 | 
                } 
 | 
                // 
 | 
                grdMain.DataSource = oDs.Tables[0].DefaultView; 
 | 
                ////加载列宽 
 | 
                //for (int i = 0; i < grdMain.ColumnCount; i++) 
 | 
                //{ 
 | 
                //    grdMain.Columns[i].Width = 100; 
 | 
                //    if (grdMain.Columns[i].HeaderText.Substring(0, 1).ToLower() == "h") 
 | 
                //    { 
 | 
                //        grdMain.Columns[i].Visible = false; 
 | 
                //    } 
 | 
                //    else 
 | 
                //    { 
 | 
                //        grdMain.Columns[i].Visible = true; 
 | 
                //    } 
 | 
                //} 
 | 
                //加载列宽 
 | 
                DBUtility.Gy_BaseFun.DisplayGrid(grdMain, this.Name); 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show(e.Message, "提示"); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //退出模块 
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Close(); 
 | 
        } 
 | 
  
 | 
        //保存列宽 
 | 
        private void bclk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
        //默认列宽 
 | 
        private void mrlk_Click(object sender, EventArgs e)//Lock 
 | 
        { 
 | 
            DBUtility.ClsPub.DefaultGridView(grdMain); 
 | 
            //参数解释  开始列 ,结束列,是否以最大列宽为准,最小列宽 
 | 
            DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
  
 | 
        #region 编辑界面控件处理 
 | 
  
 | 
        //保存按钮 
 | 
        private void cmdOK_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (Save()) 
 | 
            { 
 | 
                MessageBox.Show("保存完毕!", "提示"); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("保存失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
            } 
 | 
            if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_Modify) 
 | 
            { 
 | 
                InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View; 
 | 
                RefreshTool(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //保存 
 | 
        private bool Save() 
 | 
        { 
 | 
            oWeb.getRunProc("delete from Gy_UserByOrgRelation where HUserID='" + sCzybm.ToString() + "'", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            for (int i = 0; i <= LbYes.Items.Count - 1; i++) 
 | 
            { 
 | 
                oWeb.getRunProc("insert into Gy_UserByOrgRelation (HBillType,HUserID,HOrgID) values ('','" + sCzybm.ToString() + "'," + ClsPub.isLong(Get_Code(this.LbYes.Items[i].ToString())) + ")", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            } 
 | 
            Display(); 
 | 
            return true; 
 | 
        } 
 | 
  
 | 
        //拆分 
 | 
        private string Get_Code(string sCode) 
 | 
        { 
 | 
            sCode = sCode.Trim(); 
 | 
            char c = Convert.ToChar("-"); 
 | 
            string[] s = sCode.Split(c); 
 | 
            if (s.Length > 1) 
 | 
            { 
 | 
                return s[0].Trim(); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                return "0"; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //取消按钮 
 | 
        private void cmdCancel_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View; 
 | 
            RefreshTool(); 
 | 
        } 
 | 
  
 | 
        //左移 
 | 
        private void cmdLeft_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (this.LbNo.SelectedItems.Count > 0) 
 | 
            { 
 | 
                int i = this.LbNo.SelectedIndex; 
 | 
                this.LbYes.Items.Add(this.LbNo.SelectedItem.ToString()); 
 | 
                this.LbNo.Items.RemoveAt(i); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //全部左移 
 | 
        private void cmdAllLeft_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (this.LbNo.Items.Count > 0) 
 | 
            { 
 | 
                for (int i = 0; i <= this.LbNo.Items.Count - 1; i++) 
 | 
                { 
 | 
                    this.LbYes.Items.Add(this.LbNo.Items[i].ToString()); 
 | 
                    this.LbNo.Items.RemoveAt(i); 
 | 
                    i--; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //右移 
 | 
        private void cmdRight_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (this.LbYes.SelectedItems.Count > 0) 
 | 
            { 
 | 
                int i = this.LbYes.SelectedIndex; 
 | 
                this.LbNo.Items.Add(this.LbYes.SelectedItem.ToString()); 
 | 
                this.LbYes.Items.RemoveAt(i); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //全部右移 
 | 
        private void cmdAllRight_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (this.LbYes.Items.Count > 0) 
 | 
            { 
 | 
                for (int i = 0; i <= this.LbYes.Items.Count - 1; i++) 
 | 
                { 
 | 
                    this.LbNo.Items.Add(this.LbYes.Items[i].ToString()); 
 | 
                    this.LbYes.Items.RemoveAt(i); 
 | 
                    i--; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
  
 | 
        public int i = 0;   //行的下标控制器 (*****控制从第几行开始遍历*****) 
 | 
        public bool notNull = false;    //递归控制器 (*****控制是否可调用递归******) 
 | 
        private void cmdHUser_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            string sFind = txtHUser.Text.Trim(); 
 | 
            string sUser = ""; 
 | 
            foreach (DataGridViewRow dr in grdMain.SelectedRows) //取消行的选中 
 | 
            { 
 | 
                dr.Selected = false; 
 | 
            } 
 | 
            for (int a = i; a <= grdMain.RowCount - 1; a++) 
 | 
            { 
 | 
                sUser = DBUtility.ClsPub.isStrNull(this.grdMain.Rows[a].Cells[Fun_GetCol("用户名称")].Value); 
 | 
                if (sUser.IndexOf(sFind) != -1) 
 | 
                { 
 | 
                    grdMain.Rows[a].Selected = true;  //如果匹配则选中该行 
 | 
                    grdMain.FirstDisplayedScrollingRowIndex = a;  //滚动条滑自该行 
 | 
                    i = a + 1;  //使下次遍历从该行的下一行开始查找 
 | 
                    notNull = true; 
 | 
                    return;   //设置notNull为真,跳出 
 | 
                } 
 | 
            } 
 | 
            if (notNull) //始终未找到匹配项则进入 
 | 
            { 
 | 
                i = 0;  //重置从第一行遍历 
 | 
                notNull = false;  //设置notNull为假,如果再一次从第一行遍历未找到匹配项则不会再进入IF调用递归 
 | 
                cmdHUser_Click(sender, e); //递归 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("未找到!!"); 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    } 
 | 
} 
 |