using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
  
 | 
namespace DBUtility 
 | 
{ 
 | 
    public partial class Gy_UserSelect2 : Form 
 | 
    { 
 | 
        private int HItemIDCol = 0; 
 | 
        private int HNumberCol = 0; 
 | 
        public DBUtility.frm_B_BillQueryCondition_New frmCondition; 
 | 
        const string ViewName = "h_v_Gy_UserList"; 
 | 
        const string ModName = "选择用户"; 
 | 
        public DBUtility.ClsPub.Enum_InputMode InputMode;  //录入状态标志(0-非录入状态 1-增加 2-修改) 
 | 
        public long HItemID;//项目ID 
 | 
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); 
 | 
        TreeNode CurNode = new TreeNode(); 
 | 
        public bool bSingle = false; 
 | 
        public string sReturn = ""; 
 | 
        public int IsOk = 0; 
 | 
  
 | 
        public Gy_UserSelect2() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        // 
 | 
        #region  固定代码 
 | 
  
 | 
        //新增 
 | 
        private void AddNew() 
 | 
        { 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
            Init(); 
 | 
        } 
 | 
        //初始化GRID 
 | 
        private void initGrid() 
 | 
        { 
 | 
            grdMain.Cols = 5; 
 | 
            grdMain.Rows = 1; 
 | 
            grdMain.FixedCols = 1; 
 | 
            grdMain.FixedRows = 1; 
 | 
  
 | 
            grdMain.set_TextMatrix(0, 0, "序号"); 
 | 
            grdMain.set_TextMatrix(0, 1, "用户ID"); 
 | 
            grdMain.set_TextMatrix(0, 2, "用户"); 
 | 
            grdMain.set_TextMatrix(0, 3, "用户组ID"); 
 | 
            grdMain.set_TextMatrix(0, 4, "用户组"); 
 | 
  
 | 
  
 | 
            grdMain.set_ColHidden(1, true); 
 | 
            grdMain.set_ColHidden(3, true); 
 | 
            // 
 | 
            grdMain.ExplorerBar = VSFlex7.ExplorerBarSettings.flexExSortAndMove; 
 | 
            grdMain.AllowBigSelection = false; 
 | 
            grdMain.AllowSelection = false; 
 | 
            grdMain.SelectionMode = VSFlex7.SelModeSettings.flexSelectionByRow; 
 | 
            grdMain.ScrollTrack = true; 
 | 
            grdMain.WordWrap = true; 
 | 
            grdMain.set_ColWidth(-1, 1500); 
 | 
            grdMain.set_RowHeight(-1, 400); 
 | 
            grdMain.set_RowHeight(0, 500); 
 | 
            grdMain.RowHeightMin = 250; 
 | 
            grdMain.Editable = VSFlex7.EditableSettings.flexEDNone; 
 | 
            grdMain.AllowUserResizing = VSFlex7.AllowUserResizeSettings.flexResizeBoth; 
 | 
            grdMain.AllowUserFreezing = VSFlex7.AllowUserFreezeSettings.flexFreezeBoth; 
 | 
            grdMain.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); 
 | 
            grdMain.AutoSizeMode = VSFlex7.AutoSizeSettings.flexAutoSizeColWidth; 
 | 
            // 
 | 
            DBUtility.ClsPub.GetGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); 
 | 
            // 
 | 
            grdSource.Cols = 1; 
 | 
            grdSource.Rows = 1; 
 | 
            grdSource.FixedCols = 1; 
 | 
            grdSource.FixedRows = 1; 
 | 
            grdSource.ExplorerBar = VSFlex7.ExplorerBarSettings.flexExSortAndMove; 
 | 
            grdSource.AllowBigSelection = false; 
 | 
            grdSource.AllowSelection = false; 
 | 
            grdSource.SelectionMode = VSFlex7.SelModeSettings.flexSelectionByRow; 
 | 
            grdSource.ScrollTrack = true; 
 | 
            grdSource.WordWrap = true; 
 | 
            grdSource.set_ColWidth(-1, 1500); 
 | 
            grdSource.set_RowHeight(-1, 400); 
 | 
            grdSource.set_RowHeight(0, 500); 
 | 
            grdSource.RowHeightMin = 250; 
 | 
            grdSource.Editable = VSFlex7.EditableSettings.flexEDNone; 
 | 
            grdSource.AllowUserResizing = VSFlex7.AllowUserResizeSettings.flexResizeBoth; 
 | 
            grdSource.AllowUserFreezing = VSFlex7.AllowUserFreezeSettings.flexFreezeBoth; 
 | 
            grdSource.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); 
 | 
            grdSource.AutoSizeMode = VSFlex7.AutoSizeSettings.flexAutoSizeColWidth; 
 | 
            // 
 | 
            DBUtility.ClsPub.GetGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); 
 | 
        } 
 | 
        //显示 
 | 
        private void Display() 
 | 
        { 
 | 
            DisplaySource(); 
 | 
        } 
 | 
  
 | 
        //显示列表 
 | 
        private void DisplaySource() 
 | 
        { 
 | 
            SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); 
 | 
            DataSet DSet = new DataSet(); 
 | 
            grdSource.Rows = grdSource.FixedRows; 
 | 
            string sSql = "select * from h_v_Gy_UserList "; 
 | 
            string sWhere = "order by czybm"; 
 | 
            //过滤条件 
 | 
            sSql = sSql + sWhere; 
 | 
            // 
 | 
            DSet = SubCn.RunProcReturn(sSql, ViewName); 
 | 
            //生成首行标题 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            // 
 | 
            grdSource.Redraw = VSFlex7.RedrawSettings.flexRDNone; 
 | 
            // 
 | 
            grdSource.Cols = DSet.Tables[0].Columns.Count + grdSource.FixedCols; 
 | 
            grdSource.set_TextMatrix(0, grdSource.FixedCols - 1, "序号"); 
 | 
            grdSource.set_ColWidth(0, 500); 
 | 
            for (int i = 0; i <= DSet.Tables[0].Columns.Count - 1; i++) 
 | 
            { 
 | 
                grdSource.set_TextMatrix(0, i + grdSource.FixedCols, DSet.Tables[0].Columns[i].Caption); 
 | 
                if (DSet.Tables[0].Columns[i].Caption.ToLower().Substring(0, 1) == "h") //首字母为h则隐藏 
 | 
                { 
 | 
                    grdSource.set_ColHidden(i + grdSource.FixedCols, true); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    grdSource.set_ColHidden(i + grdSource.FixedCols, false); 
 | 
                    grdSource.set_ColWidth(i + grdSource.FixedCols, 1000); 
 | 
                } 
 | 
            } 
 | 
  
 | 
            if (DSet.Tables[0].Rows.Count == 0) 
 | 
            { 
 | 
                grdSource.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; 
 | 
                return; 
 | 
            } 
 | 
            //填充网格 
 | 
            string s = ""; 
 | 
            grdSource.Rows = DSet.Tables[0].Rows.Count + grdSource.FixedRows; 
 | 
            for (int i = 0; i <= DSet.Tables[0].Rows.Count - 1; i++) 
 | 
            { 
 | 
                grdSource.set_TextMatrix(i + grdSource.FixedRows, 0, (i + grdSource.FixedRows).ToString()); 
 | 
                for (int j = 0; j <= DSet.Tables[0].Columns.Count - 1; j++) 
 | 
                { 
 | 
                    s = DSet.Tables[0].Rows[i][j].ToString(); 
 | 
                    grdSource.set_TextMatrix(i + grdSource.FixedRows, j + grdSource.FixedCols, s); 
 | 
                } 
 | 
            } 
 | 
  
 | 
            //固定行 中间对齐 
 | 
            grdSource.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); 
 | 
            //加载列宽 
 | 
            DBUtility.ClsPub.GetGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); 
 | 
            // 
 | 
            grdSource.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; 
 | 
        } 
 | 
  
 | 
        //得到对应列 
 | 
        private Int32 Fun_GetCol(string sCol) 
 | 
        { 
 | 
            for (int c = 0; c < grdMain.Cols; c++) 
 | 
            { 
 | 
                if (DBUtility.ClsPub.isStrNull(grdMain.get_TextMatrix(0, c)).ToUpper().Trim() == sCol.Trim().ToUpper()) 
 | 
                { 
 | 
                    return c; 
 | 
                } 
 | 
            } 
 | 
            return 0; 
 | 
        } 
 | 
  
 | 
        //退出模块 
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Close(); 
 | 
        } 
 | 
        //刷新 
 | 
        private void xs_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            initGrid(); 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        //树型 单击 
 | 
        private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 
 | 
        { 
 | 
            CurNode = e.Node; 
 | 
            if (CurNode != null) 
 | 
            { 
 | 
                //找到选中结点 
 | 
                initGrid(); 
 | 
                Display(); 
 | 
            } 
 | 
        } 
 | 
        //查找结点 
 | 
        private void FindRow(string sCode) 
 | 
        { 
 | 
            //sCode = sCode.Trim(); 
 | 
            //char c = Convert.ToChar("-"); 
 | 
            //string[] s = sCode.Split(c); 
 | 
            //if (s.Length > 0) 
 | 
            //{ 
 | 
            //    sCode = s[0].Trim(); 
 | 
            //    grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone; 
 | 
            //    for (int i = grdMain.FixedRows; i < grdMain.Rows; i++) 
 | 
            //    { 
 | 
            //        if (sCode.Trim() == grdMain.get_TextMatrix(i, HNumberCol)) 
 | 
            //        { 
 | 
            //            grdMain.TopRow = i; 
 | 
            //            grdMain.Row = i; 
 | 
            //        } 
 | 
            //    } 
 | 
            //    grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; 
 | 
            //} 
 | 
        } 
 | 
  
 | 
        //选中行是否正常 
 | 
        private bool AllowRow() 
 | 
        { 
 | 
            if (grdMain.Row >= grdMain.FixedRows && grdMain.Row <= grdMain.Rows - 1) 
 | 
                return true; 
 | 
            else 
 | 
                return false; 
 | 
        } 
 | 
        //时间控件 
 | 
        private void timer1_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = false; 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        //删除项目 
 | 
        public void Delete() 
 | 
        { 
 | 
            if (AllowRow()) 
 | 
            { 
 | 
  
 | 
  
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void bclk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            //保存列宽 
 | 
            DBUtility.ClsPub.SaveGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); 
 | 
            DBUtility.ClsPub.SaveGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
        private void mrlk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            grdMain.AutoSize(0, grdMain.Cols - 1, false, 1); 
 | 
            //参数解释  开始列 ,结束列,是否以最大列宽为准,最小列宽 
 | 
            DBUtility.ClsPub.SaveGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); 
 | 
            grdSource.AutoSize(0, grdSource.Cols - 1, false, 1); 
 | 
            //参数解释  开始列 ,结束列,是否以最大列宽为准,最小列宽 
 | 
            DBUtility.ClsPub.SaveGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
        //保存GRID列宽 
 | 
        private void Gy_UserSelect2_FormClosing(object sender, FormClosingEventArgs e) 
 | 
        { 
 | 
            DBUtility.ClsPub.SaveGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); 
 | 
            DBUtility.ClsPub.SaveGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); 
 | 
        } 
 | 
        //窗体加载 
 | 
        private void Gy_UserSelect2_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            LoadTree(); 
 | 
            initGrid(); 
 | 
            Display(); 
 | 
        } 
 | 
  
 | 
        //加载树形 
 | 
        private void LoadTree() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                tv.Nodes.Clear(); 
 | 
                tv.ImageList = imageList1; 
 | 
                TreeNode sNode = tv.Nodes.Add("T0", "用户组", 0, 1); 
 | 
                //sNode.Expand(); 
 | 
                LoadAllNodes(sNode); 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show("加载树型失败!" + e.Message, "提示"); 
 | 
            } 
 | 
        } 
 | 
        //初始化界面 
 | 
        private bool Init() 
 | 
        { 
 | 
            return true; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 界面控件处理 
 | 
  
 | 
  
 | 
        //保存 
 | 
        //private bool Save() 
 | 
        //{ 
 | 
        //    if (CurNode.Name == null || CurNode.Name == "") 
 | 
        //    { 
 | 
        //        MessageBox.Show("保存失败,选择的结点有异常!"); 
 | 
        //        return false; 
 | 
        //    } 
 | 
        //    try 
 | 
        //    { 
 | 
        //        oCn.BeginTran(); 
 | 
        //        //删除原记录 
 | 
        //        oCn.RunProc("Delete From Gy_UserSelect2 where HUserID='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'"); 
 | 
        //        //新增记录 
 | 
        //        for (int i = grdMain.FixedRows; i < grdMain.Rows; i++) 
 | 
        //        { 
 | 
        //            oCn.RunProc("insert into Gy_UserSelect2(HCusID,HUserID) values(" + DBUtility.ClsPub.isLong(grdMain.get_TextMatrix(i, 1)) + ",'" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "') "); 
 | 
        //        } 
 | 
        //        oCn.Commit(); 
 | 
        //    } 
 | 
        //    catch (Exception e) 
 | 
        //    { 
 | 
        //        oCn.RollBack(); 
 | 
        //        MessageBox.Show("保存失败!" + e.Message); 
 | 
        //    } 
 | 
        //    return true; 
 | 
        //} 
 | 
        //新增时清空信息 
 | 
        private void Sub_Clear() 
 | 
        { 
 | 
            return; 
 | 
            // 
 | 
        } 
 | 
  
 | 
        //加载子结点 
 | 
        private void LoadAllNodes(TreeNode sNode) 
 | 
        { 
 | 
            if (sNode != null) 
 | 
            { 
 | 
                try 
 | 
                { 
 | 
                    long sName = Convert.ToInt64(sNode.Name.Substring(1, sNode.Name.Length - 1)); 
 | 
                    sNode.Nodes.Clear(); 
 | 
                    DataSet Ds = oCn.RunProcReturn("select  * from System_UserGroup  ", "System_UserGroup"); 
 | 
                    for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) 
 | 
                    { 
 | 
                        TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["GroupID"].ToString(), Ds.Tables[0].Rows[i]["GroupName"].ToString(), 0, 1); 
 | 
                    } 
 | 
                    sNode.Expand(); 
 | 
                } 
 | 
                catch (Exception e) 
 | 
                { 
 | 
                    MessageBox.Show("加载子项目失败!" + e.Message, "提示"); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void cmdQForward_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdSource.Row >= grdSource.FixedRows) 
 | 
            { 
 | 
                grdMain.AddItem(""); 
 | 
                grdMain.set_TextMatrix(grdMain.Rows - 1, 4, grdSource.get_TextMatrix(grdSource.Row, 4)); 
 | 
                grdMain.set_TextMatrix(grdMain.Rows - 1, 3, grdSource.get_TextMatrix(grdSource.Row, 3)); 
 | 
                grdMain.set_TextMatrix(grdMain.Rows - 1, 2, grdSource.get_TextMatrix(grdSource.Row, 2)); 
 | 
                grdMain.set_TextMatrix(grdMain.Rows - 1, 1, grdSource.get_TextMatrix(grdSource.Row, 1)); 
 | 
                grdSource.RemoveItem(grdSource.Row); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void cmdQBack_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdMain.Row >= grdMain.FixedRows) 
 | 
            { 
 | 
                grdSource.AddItem(""); 
 | 
                grdSource.set_TextMatrix(grdSource.Rows - 1, 4, grdMain.get_TextMatrix(grdMain.Row, 4)); 
 | 
                grdSource.set_TextMatrix(grdSource.Rows - 1, 3, grdMain.get_TextMatrix(grdMain.Row, 3)); 
 | 
                grdSource.set_TextMatrix(grdSource.Rows - 1, 2, grdMain.get_TextMatrix(grdMain.Row, 2)); 
 | 
                grdSource.set_TextMatrix(grdSource.Rows - 1, 1, grdMain.get_TextMatrix(grdMain.Row, 1)); 
 | 
                grdMain.RemoveItem(grdMain.Row); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void cmdQForwardAll_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            int Rows = grdSource.Rows; 
 | 
            for (int i = Rows - 1; i > 0; i--) 
 | 
            { 
 | 
                grdMain.AddItem(""); 
 | 
                grdMain.set_TextMatrix(Rows - i, 4, grdSource.get_TextMatrix(i, 4)); 
 | 
                grdMain.set_TextMatrix(Rows - i, 3, grdSource.get_TextMatrix(i, 3)); 
 | 
                grdMain.set_TextMatrix(Rows - i, 2, grdSource.get_TextMatrix(i, 2)); 
 | 
                grdMain.set_TextMatrix(Rows - i, 1, grdSource.get_TextMatrix(i, 1)); 
 | 
                grdSource.RemoveItem(i); 
 | 
            } 
 | 
        } 
 | 
        private void cmdQBackAll_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            int Rows = grdMain.Rows; 
 | 
            for (int i = Rows - 1; i > 0; i--) 
 | 
            { 
 | 
                grdSource.AddItem(""); 
 | 
                grdSource.set_TextMatrix(Rows - i, 4, grdMain.get_TextMatrix(i, 4)); 
 | 
                grdSource.set_TextMatrix(Rows - i, 3, grdMain.get_TextMatrix(i, 3)); 
 | 
                grdSource.set_TextMatrix(Rows - i, 2, grdMain.get_TextMatrix(i, 2)); 
 | 
                grdSource.set_TextMatrix(Rows - i, 1, grdMain.get_TextMatrix(i, 1)); 
 | 
                grdMain.RemoveItem(i); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void cmdCancel_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            sReturn = ""; 
 | 
            IsOk = 2; 
 | 
            this.Visible = false; 
 | 
        } 
 | 
  
 | 
        private void cmdOK_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            sReturn = ""; 
 | 
            if (bSingle) 
 | 
            { 
 | 
                if (grdMain.Rows > 2) 
 | 
                { 
 | 
                    MessageBox.Show("只允许选择一个用户!", "提示"); 
 | 
                    return; 
 | 
                } 
 | 
            } 
 | 
            for (int i = grdMain.FixedRows; i <= grdMain.Rows - 1; i++) 
 | 
            { 
 | 
                sReturn = sReturn + "," + grdMain.get_TextMatrix(i, 2); 
 | 
            } 
 | 
            if (sReturn.Trim() != "") 
 | 
            { 
 | 
                sReturn = sReturn.Substring(1, sReturn.Length - 1); 
 | 
            } 
 | 
            IsOk = 1; 
 | 
            this.Visible = false; 
 | 
        } 
 | 
  
 | 
        private void Gy_UserSelect2_Activated(object sender, EventArgs e) 
 | 
        { 
 | 
            IsOk = 0; 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
    } 
 | 
} 
 |