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 frmHlpInfo : Form 
 | 
    { 
 | 
        public frmHlpInfo() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        public string WherePart; 
 | 
        public string sTitle; 
 | 
        public string sBill; 
 | 
        public string sView; 
 | 
        public int CurCol = 0; 
 | 
        public int Cur2Col = 0; 
 | 
        public string sOtherItem; 
 | 
        public string sSQLWhere; 
 | 
        TreeNode CurNode = new TreeNode(); 
 | 
        public Pub_Class.ClsPub.Enum_OKTag OKTag; 
 | 
        Pub_Class.ClsSqlHelper oCn = new Pub_Class.ClsSqlHelper(); 
 | 
  
 | 
        private void frmHlpInfo_Load(object sender, EventArgs e) 
 | 
        { 
 | 
            initGrid(); 
 | 
            LoadTree(); 
 | 
            QueryText(); 
 | 
        } 
 | 
        //初始化GRID 
 | 
        private void initGrid() 
 | 
        { 
 | 
            grdShow.RowTemplate.Height = 18;                //行高设置 
 | 
            grdShow.RowTemplate.MinimumHeight = 18;         //最小行高 
 | 
            grdShow.ColumnHeadersHeight = 35;               //标题行高 
 | 
            grdShow.RowHeadersVisible = false;              //固定列是否显示 
 | 
            grdShow.ColumnHeadersVisible = true;            //固定行是否显示  
 | 
            grdShow.ReadOnly = true;                         //只读--是 
 | 
            // 
 | 
            grdShow.RowsDefaultCellStyle.SelectionForeColor = Color.White;          //行选中字体颜色 
 | 
            grdShow.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;  //内容布局(居中,靠右) 
 | 
            grdShow.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//标题行布局(居中,靠右) 
 | 
            grdShow.SelectionMode = DataGridViewSelectionMode.FullRowSelect;                     //选行模式  
 | 
            grdShow.EditMode = DataGridViewEditMode.EditOnEnter;                    //编辑模式 
 | 
            grdShow.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;  //标题行高 调整模式 
 | 
            grdShow.EnableHeadersVisualStyles = true;                              //标题 显示样式 
 | 
            grdShow.AllowUserToAddRows = false;             //是否允许自增--否 
 | 
            grdShow.AllowUserToDeleteRows = false;          //是否允许删除--否  
 | 
            grdShow.AllowUserToResizeColumns = true;         //允许调整列宽--是 
 | 
            grdShow.AllowUserToResizeRows = false;           //允许调整行高--否 
 | 
            grdShow.AllowUserToOrderColumns = false;            //是否允许拖拽列 
 | 
            grdShow.BackgroundColor = Color.White;              //网格背景色 
 | 
            grdShow.GridColor = Color.LightGray;                //网格线颜色 
 | 
            grdShow.DefaultCellStyle.SelectionBackColor = Color.Black;   //选中时背景颜色 
 | 
            grdShow.ShowCellToolTips = false;                                   //鼠标停留 显示提示 
 | 
            grdShow.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;//网格内容 对齐方式 
 | 
  
 | 
        } 
 | 
  
 | 
        //双击 GRID 
 | 
        private void grdMain_DblClick(object sender, EventArgs e) 
 | 
        { 
 | 
            //if (AllowRow()) 
 | 
            if (grdShow.CurrentCell == null) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            BackData(); 
 | 
        } 
 | 
        //时间TIMER 
 | 
        private void timer1_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = false; 
 | 
            this.Text = sTitle; 
 | 
            //如果过滤框有内容 则自动过滤 
 | 
            if (this.txtFindInfo.Text.Trim()!= "") 
 | 
            { 
 | 
                QueryText(); 
 | 
            } 
 | 
  
 | 
        } 
 | 
        //返回 
 | 
        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); 
 | 
                } 
 | 
                QueryTree(); 
 | 
            } 
 | 
        } 
 | 
        //加载树型 
 | 
        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]["物料代码"].ToString() + "~" + Ds.Tables[0].Rows[i]["物料名称"].ToString(), 0, 1); 
 | 
                    } 
 | 
                    sNode.Expand(); 
 | 
                } 
 | 
                catch (Exception e) 
 | 
                { 
 | 
                    //MessageBox.Show("加载子项目失败!" + e.Message); 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //保存列宽 
 | 
        private void frmHlpInfo_FormClosing(object sender, FormClosingEventArgs e) 
 | 
        { 
 | 
            //ClsPub.SaveGrid(grdMain, sTitle); 
 | 
        } 
 | 
        //过滤项目 
 | 
        private void QueryText() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string sWhere = ""; 
 | 
                if (CurCol != null) 
 | 
                { 
 | 
                    switch (CurCol) 
 | 
                    { 
 | 
                        case 0: 
 | 
                            sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; 
 | 
                            break; 
 | 
                        case 1: 
 | 
                            sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; 
 | 
                            break; 
 | 
                        case 2: 
 | 
                            sWhere = "and HName like '%" + txtFindInfo.Text.Trim() + "%'"; 
 | 
                            break; 
 | 
                        case 3: 
 | 
                            sWhere = "and HModel like '%" + txtFindInfo.Text.Trim() + "%'"; 
 | 
                            break; 
 | 
                        case 4: 
 | 
                            sWhere = " and HPicNo like '%" + txtFindInfo.Text.Trim() + "%'"; 
 | 
                            break; 
 | 
                        default: 
 | 
                            sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; 
 | 
                            break; 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; 
 | 
                } 
 | 
                string sWhere2 = ""; 
 | 
                if (txtFindInfo2.Text.Trim() != "") 
 | 
                { 
 | 
                    if (Cur2Col != null) 
 | 
                    { 
 | 
                        switch (Cur2Col) 
 | 
                        { 
 | 
                            case 0: 
 | 
                                sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; 
 | 
                                break; 
 | 
                            case 1: 
 | 
                                sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; 
 | 
                                break; 
 | 
                            case 2: 
 | 
                                sWhere2 = " and Hname like '%" + txtFindInfo2.Text.Trim() + "%'"; 
 | 
                                break; 
 | 
                            case 3: 
 | 
                                sWhere2 = " and HModel like '%" + txtFindInfo2.Text.Trim() + "%'"; 
 | 
                                break; 
 | 
                            case 4: 
 | 
                                sWhere2 = " and HPicNo like '%" + txtFindInfo2.Text.Trim() + "%'"; 
 | 
                                break; 
 | 
                            default: 
 | 
                                sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; 
 | 
                                break; 
 | 
                        } 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; 
 | 
                    } 
 | 
                } 
 | 
                string sSQL = "Select HItemID,Hnumber 物料代码,Hname 物料名称,HModel 规格型号,HPicNo 图号,HUnitNumber 单位代码,Hunitname 计量单位,HUnitID " + sOtherItem + "  from " + sBill + " where  HEndFlag=1  " + sWhere + sWhere2 + sSQLWhere + "  Order by Hnumber "; 
 | 
                //编辑ofrm 
 | 
                // 
 | 
                ExecSQL(sSQL); 
 | 
                return; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show("显示失败!"+e.Message ); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        //执行SQL 
 | 
        private void ExecSQL(string sSQL) 
 | 
        { 
 | 
            DataSet Ds = new DataSet(); 
 | 
            Ds = oCn.RunProcReturn(sSQL, sBill); 
 | 
            grdShow.DataSource = Ds.Tables[0].DefaultView;  
 | 
            //隐藏H列 
 | 
            string s = ""; 
 | 
            for (int i = 0; i < grdShow.ColumnCount; i++) 
 | 
            { 
 | 
                s = grdShow.Columns[i].HeaderText.Trim(); 
 | 
                if (s.Substring(0, 1).ToUpper() == "H") 
 | 
                { 
 | 
                    grdShow.Columns[i].Visible = false; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    grdShow.Columns[i].Visible = true; 
 | 
                } 
 | 
            } 
 | 
            //获取列宽 
 | 
              
 | 
            Pub_Class.ClsPub.GetGridView(grdShow, this.Name + this.sTitle, Pub_Class.ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
        //树形过滤项目 
 | 
        private void QueryTree() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string sWhere = ""; 
 | 
                if (CurNode != null) 
 | 
                { 
 | 
                    char c = Convert.ToChar("~"); 
 | 
                    string[] s = CurNode.Text.Split(c); 
 | 
                    if (s.Length > 1) 
 | 
                    { 
 | 
                        sWhere = "and Hnumber like '" + s[0].Trim() + "%'"; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        sWhere = "";//选中 最大结点的时候 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    sWhere = ""; 
 | 
                } 
 | 
                string sSQL = "Select HItemID,Hnumber 物料代码,Hname 物料名称,HModel 规格型号,HPicNo 图号,HUnitNumber 单位代码,Hunitname 计量单位,HUnitID  " + sOtherItem + "  from " + sBill + " where  HEndFlag=1  " + sWhere + " Order by Hnumber   "; 
 | 
                //编辑ofrm 
 | 
                // 
 | 
                ExecSQL(sSQL); 
 | 
                return; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                MessageBox.Show("显示失败!" + e.Message); 
 | 
                return; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void chkMH_CheckedChanged(object sender, EventArgs e) 
 | 
        { 
 | 
            QueryText(); 
 | 
        } 
 | 
  
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            QueryText(); 
 | 
        } 
 | 
  
 | 
        private void grdShow_DoubleClick(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdShow.CurrentCell == null) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            BackData(); 
 | 
        } 
 | 
  
 | 
        private void grdShow_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdShow.CurrentCell == null) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            if (grdShow.CurrentCell.ColumnIndex >= 0) 
 | 
            { 
 | 
                lblFindCol.Text = grdShow.Columns[grdShow.CurrentCell.ColumnIndex].HeaderText; 
 | 
                CurCol = grdShow.CurrentCell.ColumnIndex; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                lblFindCol.Text = grdShow.Columns[1].HeaderText; 
 | 
                CurCol = 1; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void txtFindInfo_KeyDown(object sender, KeyEventArgs e) 
 | 
        { 
 | 
            if (e.KeyCode == Keys.Enter) 
 | 
            { 
 | 
                QueryText(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void txtFindInfo_TextChanged(object sender, EventArgs e) 
 | 
        { 
 | 
  
 | 
        } 
 | 
  
 | 
        private void grdShow_MouseClick(object sender, MouseEventArgs e) 
 | 
        { 
 | 
            if (grdShow.CurrentCell == null) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            if (e.Button == MouseButtons.Right) 
 | 
            { 
 | 
                if (grdShow.CurrentCell.ColumnIndex >= 0) 
 | 
                { 
 | 
                    lblFind2Col.Text = grdShow.Columns[grdShow.CurrentCell.ColumnIndex].HeaderText; 
 | 
                    Cur2Col = grdShow.CurrentCell.ColumnIndex; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    lblFind2Col.Text = grdShow.Columns[1].HeaderText; 
 | 
                    Cur2Col = 1; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void txtFindInfo2_KeyDown(object sender, KeyEventArgs e) 
 | 
        { 
 | 
            if (e.KeyCode == Keys.Enter) 
 | 
            { 
 | 
                QueryText(); 
 | 
            } 
 | 
        } 
 | 
  
 | 
        private void bclk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Pub_Class.ClsPub.SaveGridView(grdShow, this.Name + this.sTitle, Pub_Class.ClsPub.AppPath); 
 | 
        } 
 | 
  
 | 
    } 
 | 
} 
 |