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_Base2 : Form 
 | 
    {   
 | 
        public string ViewName ; 
 | 
        public string BillName ; 
 | 
        public string ModName  ; 
 | 
        public int HItemIDCol; 
 | 
        public int HNumberCol; 
 | 
        public ClsPub.Enum_InputMode InputMode;  //录入状态标志(0-非录入状态 1-增加 2-修改) 
 | 
        public long  HItemID;//项目ID 
 | 
        public string sCondition; //过滤条件   
 | 
        public TreeNode CurNode = new TreeNode(); 
 | 
  
 | 
        public frm_B_BillQueryCondition_New frmCondition; 
 | 
        public Gy_Base2() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        //以下代码基本不需要修改 
 | 
        #region 固定代码 
 | 
         
 | 
         
 | 
         
 | 
        //加载树形 
 | 
        public void LoadTree()//Lock 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                tv.Nodes.Clear(); 
 | 
                tv.ImageList = imageList1; 
 | 
                TreeNode sNode = tv.Nodes.Add("T0", this.Text, 0, 1); 
 | 
                LoadAllNodes(sNode); 
 | 
            } 
 | 
            catch (Exception e ) 
 | 
            { 
 | 
                MessageBox.Show("加载树型失败!" + e.Message, "提示"); 
 | 
            } 
 | 
        } 
 | 
        //新增 
 | 
        public void AddNew() 
 | 
        { 
 | 
            InputMode =ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
            Init(); 
 | 
        } 
 | 
        //退出模块 
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            this.Close(); 
 | 
        } 
 | 
        //刷新 
 | 
        private void xs_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Display(); 
 | 
        } 
 | 
        //查询 
 | 
          
 | 
        //得到对应列 
 | 
        public Int32 Fun_GetCol(string sCol)//Lock 
 | 
        { 
 | 
            for (int c = 0; c <grdMain.ColumnCount; c++) 
 | 
            { 
 | 
                if (ClsPub.isStrNull(grdMain.Columns[c].HeaderText).ToUpper().Trim() == sCol.Trim().ToUpper()) 
 | 
                { 
 | 
                    return c; 
 | 
                } 
 | 
            }           
 | 
            return 0; 
 | 
        } 
 | 
  
 | 
  
 | 
        //刷新TOOLBAR 
 | 
        public void RefreshTool()//Lock 
 | 
        { 
 | 
            if (InputMode == 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;     
 | 
                tc.Enabled = true; 
 | 
                yl.Enabled = true; 
 | 
                xz.Enabled = true; 
 | 
                xg.Enabled = true; 
 | 
                sc.Enabled = true; 
 | 
                xs.Enabled = true; 
 | 
                cx.Enabled = true; 
 | 
                fz.Enabled = false; 
 | 
            } 
 | 
            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;    
 | 
                tc.Enabled = true; 
 | 
                yl.Enabled = false; 
 | 
                xz.Enabled = false; 
 | 
                xg.Enabled = false; 
 | 
                sc.Enabled = false; 
 | 
                xs.Enabled = false; 
 | 
                cx.Enabled = false; 
 | 
                fz.Enabled = true; 
 | 
            } 
 | 
        } 
 | 
         
 | 
        //取消按钮 
 | 
        private void cmdCancel_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            InputMode = ClsPub.Enum_InputMode.InputMode_View; 
 | 
            RefreshTool(); 
 | 
        } 
 | 
        //保存按钮 
 | 
        private void cmdOK_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (!WriteClass()) 
 | 
                return; 
 | 
            if (Save()) 
 | 
            { 
 | 
                MessageBox.Show("保存完毕!", "提示"); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                MessageBox.Show("保存失败!原因:"+ClsPub.sExeReturnInfo, "提示"); 
 | 
            } 
 | 
            if (InputMode == ClsPub.Enum_InputMode.InputMode_Modify) 
 | 
            { 
 | 
                InputMode = ClsPub.Enum_InputMode.InputMode_View; 
 | 
                RefreshTool(); 
 | 
            } 
 | 
        } 
 | 
        //树型 单击 
 | 
        private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 
 | 
        { 
 | 
            CurNode = e.Node; 
 | 
            if (CurNode != null) 
 | 
            { 
 | 
                if (CurNode.Nodes.Count == 0) 
 | 
                    LoadAllNodes(CurNode); 
 | 
                //找到选中结点 
 | 
                FindRow(CurNode.Text); 
 | 
            } 
 | 
        } 
 | 
        //过滤资料   
 | 
        public void FindRow(string sCode)//Lock 
 | 
        { 
 | 
            sCode = sCode.Trim(); 
 | 
            char c = Convert.ToChar("-"); 
 | 
            string[] s = sCode.Split(c); 
 | 
            if (s.Length > 1) 
 | 
            { 
 | 
                sCondition =" Where " + ModName + "代码 like '" + s[0].Trim()+"%'"; 
 | 
                // 
 | 
                Display(); 
 | 
            } 
 | 
            else if (s.Length > 0) 
 | 
            { 
 | 
                sCondition = " Where " + ModName + "代码 like '%%'"; 
 | 
                // 
 | 
                Display(); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
  
 | 
            } 
 | 
        } 
 | 
        //删除 
 | 
        private void sc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Delete(); 
 | 
        } 
 | 
        //新增按钮 
 | 
        private void xz_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            InputMode = ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
            Init(); 
 | 
        } 
 | 
        //修改 
 | 
        public void Modify() 
 | 
        { 
 | 
            if (AllowRow()) 
 | 
            { 
 | 
                InputMode = ClsPub.Enum_InputMode.InputMode_Modify; 
 | 
                RefreshTool(); 
 | 
                Init(); 
 | 
            } 
 | 
        } 
 | 
        //修改按钮 
 | 
        private void xg_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Modify(); 
 | 
        } 
 | 
        //选中行是否正常 
 | 
        public bool AllowRow()  //Lock 
 | 
        { 
 | 
            if (grdMain.CurrentRow!=null) 
 | 
                return true; 
 | 
            else 
 | 
                return false; 
 | 
        } 
 | 
        
 | 
        // 
 | 
        public void Sub_Copy() 
 | 
        { 
 | 
            txtHNumber.Text = ""; 
 | 
            HItemID = 0; 
 | 
            InputMode = ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
        } 
 | 
  
 | 
         
 | 
         
 | 
         
 | 
        //保存列宽 
 | 
        private void bclk_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            ClsPub.SaveGridView(grdMain, this.Name,ClsPub.AppPath);    
 | 
        } 
 | 
        //默认列宽 
 | 
        private void mrlk_Click(object sender, EventArgs e)//Lock 
 | 
        { 
 | 
            ClsPub.DefaultGridView(grdMain); 
 | 
            //参数解释  开始列 ,结束列,是否以最大列宽为准,最小列宽 
 | 
            ClsPub.SaveGridView(grdMain, this.Name, ClsPub.AppPath); 
 | 
        } 
 | 
        //时间控件 
 | 
        private void timer1_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = false; 
 | 
            Display(); 
 | 
        } 
 | 
        //双击GRID 
 | 
        private void grdMain_DblClick(object sender, EventArgs e) 
 | 
        { 
 | 
            Modify(); 
 | 
        } 
 | 
        //初始化GRID 
 | 
        public void initGrid() 
 | 
        { 
 | 
            grdMain.SelectionMode = DataGridViewSelectionMode.FullRowSelect;        //选中模式--行选中 
 | 
            grdMain.ColumnHeadersVisible = true;                                    //标题列显示--是 
 | 
            grdMain.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;  //标题列尺寸模式--(自动调整,可调整) 
 | 
            grdMain.RowTemplate.Height = 18; 
 | 
            grdMain.RowTemplate.MinimumHeight = 18; 
 | 
            grdMain.ColumnHeadersHeight = 35;          //标题行高 
 | 
            grdMain.RowHeadersVisible = false;              //标题行可见--否 
 | 
            grdMain.AllowUserToAddRows = false;             //是否允许自增--否 
 | 
            grdMain.AllowUserToDeleteRows = false;          //是否允许删除--否 
 | 
            grdMain.ColumnCount = 0;                        //总列数--5 
 | 
            grdMain.RowCount = 0; 
 | 
            grdMain.AllowUserToResizeColumns = true;         //允许调整列宽--是 
 | 
            grdMain.AllowUserToResizeRows = false;           //允许调整行高--否 
 | 
            grdMain.ReadOnly = true;                         //只读--是 
 | 
            grdMain.BackgroundColor = Color.White; 
 | 
            grdMain.GridColor = Color.LightGray; 
 | 
            grdMain.DefaultCellStyle.SelectionBackColor = Color.Black;  
 | 
            grdMain.EnableHeadersVisualStyles = true;     //网格标题 样式 
 | 
        } 
 | 
         
 | 
        //复制按钮 
 | 
        private void fz_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Sub_Copy(); 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 类的读写 
 | 
        //读取类 到 控件 
 | 
        public virtual void ShowData(long sItemID) 
 | 
        { 
 | 
            return; 
 | 
        } 
 | 
        //写入类 从控件 
 | 
        public virtual bool WriteClass() 
 | 
        {  
 | 
            return true; 
 | 
        } 
 | 
  
 | 
        //显示列表 
 | 
        public   void Display() // 幻心 
 | 
        { 
 | 
            SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); 
 | 
            DataSet DSet; 
 | 
            string sSql = ""; 
 | 
            string sWhere = ""; 
 | 
            //刷新树形 
 | 
            //LoadTree(); 
 | 
            //过滤条件  
 | 
            if (ClsPub.isStrNull(sCondition) == "" && frmCondition.SqlStr.Trim().Length != 0) 
 | 
            { 
 | 
                sSql = frmCondition.SqlStr + sWhere + " order by HItemID"; 
 | 
            } 
 | 
            else if (ClsPub.isStrNull(sCondition) != "") 
 | 
            { 
 | 
                sSql = "Select * from " + ViewName + sCondition + sWhere + " order by HItemID"; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                sSql = "Select * from " + ViewName + " order by HItemID"; 
 | 
            } 
 | 
            //执行SQL 
 | 
            DSet = SubCn.RunProcReturn(sSql, ViewName, ref ClsPub.sExeReturnInfo); 
 | 
            // 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                MessageBox.Show("显示失败!原因:" + ClsPub.sExeReturnInfo); 
 | 
                return; 
 | 
            } 
 | 
            grdMain.DataSource = DSet.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; 
 | 
                } 
 | 
            } 
 | 
            ClsPub.GetGridView(this.grdMain, this.Name, DBUtility.ClsPub.AppPath); 
 | 
            // 
 | 
            HItemIDCol = Fun_GetCol("HItemID"); 
 | 
            sCondition = ""; 
 | 
        } 
 | 
  
 | 
        //加载子结点 
 | 
        public virtual  void LoadAllNodes(TreeNode sNode)  //Lock 
 | 
        { 
 | 
            return; 
 | 
        } 
 | 
  
 | 
        //删除项目 
 | 
        public virtual void Delete() 
 | 
        { 
 | 
            //------------- 
 | 
        } 
 | 
        //查询 
 | 
        public virtual void Query() 
 | 
        { 
 | 
            //============ 
 | 
        } 
 | 
  
 | 
        //初始化界面 
 | 
        public virtual bool Init() 
 | 
        { 
 | 
            return true; 
 | 
        } 
 | 
  
 | 
        //保存 
 | 
        public virtual bool Save() 
 | 
        { 
 | 
            return true; 
 | 
        } 
 | 
        //保存前判断 
 | 
        public virtual bool AllowSave() 
 | 
        { 
 | 
  
 | 
            return true; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
  
 | 
        #region 界面控件处理 
 | 
  
 | 
         
 | 
  
 | 
        //新增时清空信息 
 | 
        public void Sub_Clear()  //Lock 
 | 
        { 
 | 
            //清空界面控件 for 控件    
 | 
            foreach (Control ct in tabPage2.Controls) 
 | 
            { 
 | 
                switch (ct.GetType().Name) 
 | 
                { 
 | 
                    case "ListBox": 
 | 
                        ((ListBox)ct).Items.Clear(); 
 | 
                        break; 
 | 
                    case "CheckBox": 
 | 
                        ((CheckBox)ct).Checked = false; 
 | 
                        break; 
 | 
                    case "RadioButton": 
 | 
  
 | 
                        break; 
 | 
                    case "TextBox": 
 | 
                        ((TextBox)ct).Text = ""; 
 | 
                        break; 
 | 
                    case "DateTimePicker": 
 | 
                        ((DateTimePicker)ct).Value = DateTime.Today; 
 | 
                        break; 
 | 
                    default: 
 | 
                        break; 
 | 
                } 
 | 
            } 
 | 
            // 
 | 
            HItemID = 0; 
 | 
            //txtHNumber.Focus(); 
 | 
        } 
 | 
         
 | 
  
 | 
        private void grdMain_DoubleClick(object sender, EventArgs e) 
 | 
        { 
 | 
            Modify(); 
 | 
        } 
 | 
  
 | 
        private void cmdLoadTree_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            LoadTree(); 
 | 
        } 
 | 
  
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Query(); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
         
 | 
  
 | 
         
 | 
    } 
 | 
} 
 |