using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
using SQLHelper; 
 | 
  
 | 
namespace BLL 
 | 
{ 
 | 
    public partial class Gy_OpenTmp : Form 
 | 
    { 
 | 
        private int HItemIDCol = 0; 
 | 
        private int HNumberCol = 0; 
 | 
        private int HOpenTmpCol = 0;  
 | 
        const string ViewName = "h_v_Gy_OpenTmpList"; 
 | 
        public DBUtility.ClsPub.Enum_InputMode InputMode; 
 | 
        const string ModName = "打印模板";  
 | 
        public long  HItemID;//项目ID 
 | 
        public string sCondition; //过滤条件 
 | 
        ClsCN oCn = new ClsCN(); 
 | 
        ClsGy_OpenTmp_Ctl oAreaSet = new ClsGy_OpenTmp_Ctl(); 
 | 
        ClsGy_OpenTmp_View oAreaSetHlp = new ClsGy_OpenTmp_View(); 
 | 
        TreeNode CurNode = new TreeNode(); 
 | 
        public Pub_Class.ClsPub.Enum_OKTag OKTag;  
 | 
        public string sBillName; 
 | 
        public string sBillModel; 
 | 
        public string sOpenTmp; 
 | 
        public Gy_OpenTmp() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
        //以下代码基本不需要修改 
 | 
        #region 固定代码 
 | 
        //保存GRID列宽 
 | 
        private void Gy_OpenTmp_FormClosing(object sender, FormClosingEventArgs e) 
 | 
        { 
 | 
            DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);   
 | 
        } 
 | 
        //窗体加载 
 | 
        private void Gy_OpenTmp_Load(object sender, EventArgs e) 
 | 
        {  
 | 
            initGrid(); 
 | 
            InputMode =DBUtility.ClsPub.Enum_InputMode.InputMode_View; 
 | 
            RefreshTool(); 
 | 
        } 
 | 
          
 | 
        private bool AllowSave() 
 | 
        { 
 | 
            if (txtHModel.Text.Trim() == "") 
 | 
            { 
 | 
                MessageBox.Show("模板名称不能为空!", "提示"); 
 | 
                return false; 
 | 
            } 
 | 
            
 | 
            return true; 
 | 
        } 
 | 
        //新增 
 | 
        private void AddNew() 
 | 
        { 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
            Init(); 
 | 
        } 
 | 
        //退出模块 
 | 
        private void tc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_Cancel; 
 | 
            this.Visible = false; 
 | 
        } 
 | 
        //刷新 
 | 
        private void xs_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Display(); 
 | 
        } 
 | 
        //查询 
 | 
        private void cx_Click(object sender, EventArgs e) 
 | 
        { 
 | 
              
 | 
                Display();  
 | 
        } 
 | 
        //得到对应列 
 | 
        private Int32 Fun_GetCol(string sCol)//Lock 
 | 
        { 
 | 
            for (int c = 0; c <grdMain.ColumnCount; c++) 
 | 
            { 
 | 
                if (DBUtility.ClsPub.isStrNull(grdMain.Columns[c].HeaderText).ToUpper().Trim() == sCol.Trim().ToUpper()) 
 | 
                { 
 | 
                    return c; 
 | 
                } 
 | 
            }           
 | 
            return 0; 
 | 
        } 
 | 
        //刷新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;     
 | 
                tc.Enabled = true; 
 | 
                yl.Enabled = true; 
 | 
                xz.Enabled = true; 
 | 
                sc.Enabled = true; 
 | 
                xs.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;    
 | 
                tc.Enabled = true; 
 | 
                yl.Enabled = false; 
 | 
                xz.Enabled = false; 
 | 
                sc.Enabled = false; 
 | 
                xs.Enabled = false; 
 | 
            } 
 | 
        } 
 | 
        //删除项目 
 | 
        public void Delete() 
 | 
        { 
 | 
            if (AllowRow()) 
 | 
            { 
 | 
                if (MessageBox.Show("确定要删除当前项目?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) 
 | 
                { 
 | 
                    //得到HITEMID 
 | 
                    long sItemID; 
 | 
                    sItemID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HItemIDCol].Value);  
 | 
                    //判断存在性 
 | 
                    if (oAreaSetHlp.GetInfoByID(sItemID)) 
 | 
                    { 
 | 
                        //if (oAreaSet.HavChildCodes(sItemID)) 
 | 
                        //{ 
 | 
                        //    MessageBox.Show("此项目存在子项目,不能删除!", "提示"); 
 | 
                        //    return; 
 | 
                        //} 
 | 
                        if (oAreaSet.DeleteByID(sItemID)) 
 | 
                        { 
 | 
                            //更新上级为 末级 
 | 
  
 | 
                            MessageBox.Show("删除项目成功!", "提示"); 
 | 
                            Display(); 
 | 
                        } 
 | 
                        else 
 | 
                            MessageBox.Show("删除项目失败!" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                    } 
 | 
                } 
 | 
  
 | 
            } 
 | 
        } 
 | 
        //取消按钮 
 | 
        private void cmdCancel_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View; 
 | 
            RefreshTool(); 
 | 
        } 
 | 
        //保存按钮 
 | 
        private void cmdOK_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (!WriteClass()) 
 | 
                return; 
 | 
            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 void sc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Delete(); 
 | 
        } 
 | 
        //新增按钮 
 | 
        private void xz_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew; 
 | 
            Init(); 
 | 
            txtHNumber.Text = sBillName; 
 | 
            txtHName.Text = sBillModel; 
 | 
        } 
 | 
        //修改 
 | 
        private void Modify() 
 | 
        { 
 | 
            if (AllowRow()) 
 | 
            { 
 | 
                InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_Modify; 
 | 
                RefreshTool(); 
 | 
                Init(); 
 | 
            } 
 | 
        } 
 | 
        //修改按钮 
 | 
        private void xg_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            Modify(); 
 | 
        } 
 | 
        //选中行是否正常 
 | 
        private bool AllowRow()  //Lock 
 | 
        { 
 | 
            if (grdMain.CurrentRow!=null) 
 | 
                return true; 
 | 
            else 
 | 
                return false; 
 | 
        } 
 | 
        
 | 
        // 
 | 
         
 | 
        //初始化界面 
 | 
        private bool Init() 
 | 
        { 
 | 
            long sItemID; 
 | 
            if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew) 
 | 
            { 
 | 
                Sub_Clear(); 
 | 
                RefreshTool(); 
 | 
                return true; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                //得到HITEMID 
 | 
                sItemID = DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[HItemIDCol].Value);  
 | 
                //检查是否存在 
 | 
                if (oAreaSetHlp.GetInfoByID(sItemID)) 
 | 
                { 
 | 
                    ShowData(sItemID);  
 | 
                    return true; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    MessageBox.Show("您选择的项目已经不存在!" + DBUtility.ClsPub.sExeReturnInfo, "提示"); 
 | 
                    return false; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        //保存 
 | 
        private bool Save() 
 | 
        { 
 | 
            if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew) 
 | 
            { 
 | 
                if (oAreaSet.AddNew()) 
 | 
                { 
 | 
                    Init(); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    return false; 
 | 
                } 
 | 
                Display(); 
 | 
            } 
 | 
            if (InputMode ==DBUtility.ClsPub.Enum_InputMode.InputMode_Modify) 
 | 
            { 
 | 
                if (!oAreaSet.ModifyByID(HItemID)) 
 | 
                { 
 | 
                    return false; 
 | 
                } 
 | 
                Display(); 
 | 
            } 
 | 
            return true; 
 | 
        } 
 | 
         
 | 
        //保存列宽 
 | 
        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);   
 | 
        } 
 | 
        //时间控件 
 | 
        private void timer1_Tick(object sender, EventArgs e) 
 | 
        { 
 | 
            timer1.Enabled = false; 
 | 
            Display(); 
 | 
        } 
 | 
        //双击GRID 
 | 
        private void grdMain_DblClick(object sender, EventArgs e) 
 | 
        { 
 | 
            //Modify(); 
 | 
        } 
 | 
        //初始化GRID 
 | 
        private void initGrid() 
 | 
        { 
 | 
            grdMain.RowsDefaultCellStyle.SelectionForeColor = Color.White; 
 | 
            grdMain.RowsDefaultCellStyle.SelectionBackColor = Color.DarkCyan; 
 | 
            grdMain.DefaultCellStyle.SelectionBackColor = Color.DarkCyan; 
 | 
            grdMain.DefaultCellStyle.SelectionForeColor = Color.White; 
 | 
            grdMain.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; 
 | 
            grdMain.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; 
 | 
            grdMain.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
 | 
            grdMain.ReadOnly = true; 
 | 
            grdMain.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; //允许用户调整列宽 
 | 
            grdMain.EnableHeadersVisualStyles = false;     //网格标题 样式 
 | 
            grdMain.AllowUserToAddRows = false;             //是否允许自增--否 
 | 
            grdMain.AllowUserToDeleteRows = false;          //是否允许删除--否  
 | 
            grdMain.AllowUserToResizeColumns = true;         //允许调整列宽--是 
 | 
            grdMain.AllowUserToResizeRows = false;           //允许调整行高--否 
 | 
            grdMain.AllowUserToOrderColumns = true;         //允许 拖拽列 
 | 
            grdMain.BackgroundColor = Color.White; 
 | 
            grdMain.GridColor = Color.LightGray;             //网格线颜色 
 | 
            grdMain.ShowCellToolTips = true; 
 | 
            grdMain.CellBorderStyle = DataGridViewCellBorderStyle.RaisedVertical; 
 | 
            //grdMain.ColumnHeadersDefaultCellStyle.BackColor = Color.AliceBlue; 
 | 
            // 
 | 
            DBUtility.ClsPub.GetGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);  //设置列宽 
 | 
        } 
 | 
        //显示列表 
 | 
        private void Display() // 幻心 
 | 
        { 
 | 
            ClsCN SubCn = new ClsCN(); 
 | 
            DataSet DSet;  
 | 
            string sSql = ""; 
 | 
            string sWhere = ""; 
 | 
            //刷新树形 
 | 
            //LoadTree(); 
 | 
            //过滤条件 
 | 
            
 | 
            if (DBUtility.ClsPub.isStrNull(sCondition)!= ""  ) 
 | 
            { 
 | 
                sSql = "Select * from " + ViewName + sCondition + sWhere + " order by HItemID"; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                sSql = "Select * from " + ViewName + " where HName='" + sBillModel + "' order by HItemID"; 
 | 
            } 
 | 
            //执行SQL 
 | 
            DSet = SubCn.RunProcReturn(sSql, ViewName,ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            // 
 | 
            if (DSet == null) 
 | 
            { 
 | 
                MessageBox.Show("显示失败!原因:" + DBUtility.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; 
 | 
                } 
 | 
            } 
 | 
            DBUtility.ClsPub.GetGridView(this.grdMain, this.Name, DBUtility.ClsPub.AppPath);   
 | 
            // 
 | 
            HItemIDCol = Fun_GetCol("HItemID"); 
 | 
            HOpenTmpCol = Fun_GetCol("模板名称"); 
 | 
            //HNumberCol = Fun_GetCol(ModName + "代码"); 
 | 
            sCondition = ""; 
 | 
        } 
 | 
          
 | 
        #endregion 
 | 
  
 | 
        #region 类的读写 
 | 
        //读取类 到 控件 
 | 
        private void ShowData(long  sItemID) 
 | 
        { 
 | 
            if (oAreaSetHlp.GetInfoByID(sItemID)) 
 | 
            { 
 | 
                txtHNumber.Text = oAreaSetHlp.oModel.HNumber.ToString(); 
 | 
                txtHName.Text = oAreaSetHlp.oModel.HName.ToString(); 
 | 
                txtHModel.Text = oAreaSetHlp.oModel.HModel.ToString(); 
 | 
  
 | 
                HItemID = oAreaSetHlp.oModel.HItemID; 
 | 
            } 
 | 
        } 
 | 
        //写入类 从控件 
 | 
        private bool WriteClass() 
 | 
        { 
 | 
            ClsGy_OpenTmp_Ctl oAreaSetess = new ClsGy_OpenTmp_Ctl(); 
 | 
            ClsGy_OpenTmp_View oAreaSetHlp = new ClsGy_OpenTmp_View(); 
 | 
            //判断是否允许 保存 
 | 
            if (!AllowSave()) 
 | 
            { 
 | 
                return false; 
 | 
            } 
 | 
  
 | 
            //写入信息 
 | 
            oAreaSet.oModel.HNumber = txtHNumber.Text.Trim(); 
 | 
            oAreaSet.oModel.HName = txtHName.Text.Trim(); 
 | 
            oAreaSet.oModel.HModel = txtHModel.Text.Trim(); 
 | 
            return true; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
  
 | 
        #region 界面控件处理 
 | 
        //新增时清空信息 
 | 
        private 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 DataBack() 
 | 
        { 
 | 
            if (grdMain.CurrentRow == null) 
 | 
                return; 
 | 
            sOpenTmp = grdMain.Rows[grdMain.CurrentRow.Index].Cells[HOpenTmpCol].Value.ToString(); 
 | 
        } 
 | 
  
 | 
        private void fh_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdMain.CurrentRow == null) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            DataBack(); 
 | 
            OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_OK; 
 | 
            this.Visible = false; 
 | 
        } 
 | 
  
 | 
        private void grdMain_DoubleClick_1(object sender, EventArgs e) 
 | 
        { 
 | 
            if (grdMain.CurrentRow == null) 
 | 
            { 
 | 
                return; 
 | 
            } 
 | 
            DataBack(); 
 | 
            OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_OK; 
 | 
            this.Visible = false; 
 | 
        } 
 | 
         
 | 
        #endregion 
 | 
  
 | 
         
 | 
  
 | 
         
 | 
    } 
 | 
} 
 |