using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
  
 | 
namespace Pub_Control 
 | 
{ 
 | 
    public partial class frmHlpTree : Form 
 | 
    { 
 | 
        public frmHlpTree() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public string  WherePart; 
 | 
        public string sTitle; 
 | 
        public string sBill; 
 | 
        public string sView; 
 | 
        TreeNode CurNode=new TreeNode(); 
 | 
        public  Pub_Class.ClsPub.Enum_OKTag  OKTag; 
 | 
        Pub_Class.ClsSqlHelper oCn = new Pub_Class.ClsSqlHelper(); 
 | 
        private void frmHlpTree_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            initGrid(); 
 | 
            LoadTree(); 
 | 
        } 
 | 
        //初始化GRID 
 | 
        private void initGrid() 
 | 
        { 
 | 
            //grdMain.Rows = 1; 
 | 
            grdMain.FixedCols = 0; 
 | 
            //grdMain.FixedRows = 1; 
 | 
            grdMain.RowHeightMin = 250; 
 | 
            grdMain.set_RowHeight(0, 450); 
 | 
            grdMain.ExplorerBar = VSFlex7.ExplorerBarSettings.flexExSort; 
 | 
            grdMain.AllowBigSelection = false; 
 | 
            grdMain.AllowSelection = true; 
 | 
            grdMain.SelectionMode = VSFlex7.SelModeSettings.flexSelectionListBox; 
 | 
            grdMain.AllowUserResizing = VSFlex7.AllowUserResizeSettings.flexResizeColumns; 
 | 
            grdMain.set_ColAlignment(-1, VSFlex7.AlignmentSettings.flexAlignLeftCenter); 
 | 
            // 
 | 
            Pub_Class.ClsPub.GetGrid(grdMain, sTitle, Pub_Class.ClsPub.AppPath); 
 | 
            // 
 | 
            lblCaption.Text = sTitle; 
 | 
            this.Text = sTitle; 
 | 
            // 
 | 
            grdMain.set_ColWidth(grdMain.Cols - 1, 10); 
 | 
            grdMain.ExtendLastCol = true; 
 | 
            grdMain.Col = 1; 
 | 
        } 
 | 
        //选中项目验证 
 | 
        private bool AllowRow() 
 | 
        { 
 | 
            if (grdMain.Row >= grdMain.FixedRows && grdMain.Row <= grdMain.Rows - 1) 
 | 
                return true; 
 | 
            else 
 | 
                return false; 
 | 
        } 
 | 
        //双击 GRID 
 | 
        private void grdMain_DblClick(object sender, EventArgs e) 
 | 
        { 
 | 
            if (AllowRow()) 
 | 
                BackData(); 
 | 
        } 
 | 
        //时间TIMER 
 | 
        private void timer1_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = false; 
 | 
            this.Text = sTitle; 
 | 
        } 
 | 
        //返回 
 | 
        private void BackData() 
 | 
        { 
 | 
            OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_OK; 
 | 
            this.Visible = false; 
 | 
        } 
 | 
        //退出 
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_Cancel; 
 | 
            this.Visible = false; 
 | 
        } 
 | 
        //返回按钮 
 | 
        private void fh_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            BackData(); 
 | 
        } 
 | 
        //单击树形 
 | 
        private void tvProcess_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 
 | 
        { 
 | 
            CurNode = e.Node; 
 | 
            if (CurNode != null) 
 | 
            { 
 | 
                if (CurNode.Nodes.Count == 0) 
 | 
                { 
 | 
                    LoadAllNodes(CurNode); 
 | 
                } 
 | 
                QueryItem(); 
 | 
            } 
 | 
        } 
 | 
        //加载树型 
 | 
        private void LoadTree() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                tvTree.Nodes.Clear(); 
 | 
                tvTree.ImageList = imageList1; 
 | 
                TreeNode sNode = tvTree.Nodes.Add("T0", this.Text, 0, 1); 
 | 
                LoadAllNodes(sNode); 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show(this,"加载树型失败!" + e.Message,"提示"); 
 | 
            } 
 | 
        } 
 | 
        //加载子项目 
 | 
        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 HItemID,HNumber,HName from " + sBill + " where HEndFlag=0 and   HParentID='" + sName + "'", sBill); 
 | 
                    for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) 
 | 
                    { 
 | 
                        TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["HItemID"].ToString(), Ds.Tables[0].Rows[i]["HNumber"].ToString() + "-" + Ds.Tables[0].Rows[i]["HName"].ToString(), 0, 1); 
 | 
                    } 
 | 
                    sNode.Expand(); 
 | 
                } 
 | 
                catch (Exception e) 
 | 
                { 
 | 
                    //MessageBox.Show("加载子项目失败!" + e.Message); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        //合理的选中列 
 | 
        private bool AllowCol() 
 | 
        { 
 | 
            if (grdMain.Col >= grdMain.FixedCols && grdMain.Col <= grdMain.Cols - 1) 
 | 
            { 
 | 
                return true; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                return false; 
 | 
            } 
 | 
        } 
 | 
        //保存列宽 
 | 
        private void frmHlpTree_FormClosing(object sender, FormClosingEventArgs e) 
 | 
        { 
 | 
            Pub_Class.ClsPub.SaveGrid(grdMain, sTitle, Pub_Class.ClsPub.AppPath); 
 | 
        } 
 | 
        //过滤项目 
 | 
        private void QueryItem() 
 | 
        { 
 | 
            string sTreeCode; 
 | 
            //得到树型  代码 
 | 
            try 
 | 
            { 
 | 
                // 
 | 
                int Col; 
 | 
                if (AllowCol()) 
 | 
                    Col = grdMain.Col; 
 | 
                else 
 | 
                    Col = 1; 
 | 
                // 
 | 
                if (CurNode != null) 
 | 
                { 
 | 
                    char c = Convert.ToChar("-"); 
 | 
                    string[] s = CurNode.Text.Split(c); 
 | 
                    if (s.Length > 1) 
 | 
                    { 
 | 
                        sTreeCode = s[0].Trim().ToUpper(); 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        sTreeCode = "";//选中 最大结点的时候 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    sTreeCode = ""; 
 | 
                } 
 | 
                int j = sTreeCode.Length; 
 | 
                //显示全部 
 | 
                grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone; 
 | 
                for (int i = grdMain.FixedRows; i < grdMain.Rows; i++) 
 | 
                { 
 | 
                     
 | 
                        if (grdMain.get_TextMatrix(i, 1).Length <= j ) 
 | 
                        { 
 | 
                            grdMain.set_RowHidden(i, true); 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            if (sTreeCode != "") 
 | 
                            { 
 | 
                                if (Pub_Class.ClsPub.isStrNull(grdMain.get_TextMatrix(i, 1)) != "") 
 | 
                                { 
 | 
                                    if (grdMain.get_TextMatrix(i, 1).ToUpper().Trim() != sTreeCode) 
 | 
                                    { 
 | 
                                        if (grdMain.get_TextMatrix(i, 1).ToUpper().Trim().Substring(0, j + 1) == sTreeCode + ".") 
 | 
                                        { 
 | 
                                            grdMain.set_RowHidden(i, false); 
 | 
                                        } 
 | 
                                        else 
 | 
                                        { 
 | 
                                            grdMain.set_RowHidden(i, true); 
 | 
                                        } 
 | 
                                    } 
 | 
                                    else 
 | 
                                    { 
 | 
                                        grdMain.set_RowHidden(i, false); 
 | 
                                    } 
 | 
                                } 
 | 
                            } 
 | 
                            else 
 | 
                            { 
 | 
                                grdMain.set_RowHidden(i, false); 
 | 
                            } 
 | 
                            //txt 
 | 
                            if (txtFindInfo.Text.Trim() != "") 
 | 
                            { 
 | 
                                string txtCode = txtFindInfo.Text.Trim().ToUpper(); 
 | 
                                if (chkMH.Checked == true) 
 | 
                                { 
 | 
                                    if (Pub_Class.ClsPub.isStrNull(grdMain.get_TextMatrix(i, Col)) != "") 
 | 
                                    { 
 | 
                                        if (grdMain.get_TextMatrix(i, Col).ToUpper().Trim().Contains(txtCode)) 
 | 
                                        { 
 | 
                                            grdMain.set_RowHidden(i, false); 
 | 
                                        } 
 | 
                                        else 
 | 
                                        { 
 | 
                                            grdMain.set_RowHidden(i, true); 
 | 
                                        } 
 | 
                                    } 
 | 
                                } 
 | 
                                else 
 | 
                                { 
 | 
                                    if (Pub_Class.ClsPub.isStrNull(grdMain.get_TextMatrix(i, Col)) != "") 
 | 
                                    { 
 | 
                                        if (grdMain.get_TextMatrix(i, Col).ToUpper().Trim() == txtCode) 
 | 
                                        { 
 | 
                                            grdMain.set_RowHidden(i, false); 
 | 
                                        } 
 | 
                                        else 
 | 
                                        { 
 | 
                                            grdMain.set_RowHidden(i, true); 
 | 
                                        } 
 | 
                                    } 
 | 
                                } 
 | 
                            } 
 | 
                        } 
 | 
                     
 | 
                } 
 | 
                grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void txtFindInfo_TextChanged(object sender, EventArgs e) 
 | 
        { 
 | 
            if(this.Visible==true) 
 | 
                QueryItem(); 
 | 
        } 
 | 
  
 | 
        private void chkMH_CheckedChanged(object sender, EventArgs e) 
 | 
        { 
 | 
            QueryItem(); 
 | 
        } 
 | 
  
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            QueryItem(); 
 | 
        } 
 | 
  
 | 
        private void grdMain_RowColChange(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdMain.Col >= grdMain.FixedCols) 
 | 
                lblFindCol.Text =Pub_Class.ClsPub.isStrNull(grdMain.get_TextMatrix(0, grdMain.Col)); 
 | 
            else 
 | 
                lblFindCol.Text = Pub_Class.ClsPub.isStrNull(grdMain.get_TextMatrix(0, 1)); 
 | 
        } 
 | 
  
 | 
        private void grdMain_SelChange(object sender, EventArgs e) 
 | 
        { 
 | 
  
 | 
        } 
 | 
         
 | 
    } 
 | 
} 
 |