using System; 
 | 
using System.Collections.Generic; 
 | 
using System.ComponentModel; 
 | 
using System.Data; 
 | 
using System.Drawing; 
 | 
using System.Text; 
 | 
using System.Windows.Forms; 
 | 
using SQLHelper; 
 | 
using Pub_Class; 
 | 
  
 | 
namespace BLL 
 | 
{ 
 | 
    public partial class Gy_GridView_HideToBase : Form 
 | 
    { 
 | 
        private int HSnoCol = 0; 
 | 
        private int HCellNameCol = 1;//列名 
 | 
        private int HShowCol = 2;       //是否隐藏 
 | 
        private int HDuiQiCol = 3;      //对齐方式 
 | 
        private int HDecimalCol = 4;  //小数位数 
 | 
        const string ViewName = " "; 
 | 
        public DBUtility.ClsPub.Enum_InputMode InputMode; 
 | 
        const string ModName = "网格设置";  
 | 
        public long  HItemID;//项目ID 
 | 
        public string sCondition; //过滤条件 
 | 
        ClsCN oCn = new ClsCN(); 
 | 
        public Pub_Class.ClsPub.Enum_OKTag OKTag; 
 | 
        public DataGridView oGrd; 
 | 
        public string KeyItem; 
 | 
  
 | 
        public Gy_GridView_HideToBase() 
 | 
        { 
 | 
            InitializeComponent(); 
 | 
        } 
 | 
  
 | 
        //以下代码基本不需要修改 
 | 
        #region 固定代码 
 | 
        //保存GRID列宽 
 | 
        private void Gy_GridView_HideToBase_FormClosing(object sender, FormClosingEventArgs e) 
 | 
        { 
 | 
            DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);   
 | 
        } 
 | 
        //窗体加载 
 | 
        private void Gy_GridView_HideToBase_Load(object sender, EventArgs e) 
 | 
        {  
 | 
            initGrid(); 
 | 
            InputMode =DBUtility.ClsPub.Enum_InputMode.InputMode_View; 
 | 
            RefreshTool(); 
 | 
        } 
 | 
          
 | 
        private bool AllowSave() 
 | 
        { 
 | 
            return true; 
 | 
        } 
 | 
        //新增 
 | 
        private void AddNew() 
 | 
        { 
 | 
            InputMode = DBUtility.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(); 
 | 
        } 
 | 
        //查询 
 | 
        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.tabPage1); 
 | 
                stTab.TabPages.Add(this.tabPage1); 
 | 
                grdMain.Enabled = true;     
 | 
                tc.Enabled = true; 
 | 
                xz.Enabled = true; 
 | 
                sc.Enabled = true; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                stTab.SelectedIndex = 1; 
 | 
                stTab.TabPages.Remove(this.tabPage1); 
 | 
                stTab.TabPages[0].Hide(); 
 | 
                grdMain.Enabled = false;    
 | 
                tc.Enabled = true; 
 | 
                xz.Enabled = false; 
 | 
                sc.Enabled = false; 
 | 
            } 
 | 
        } 
 | 
     
 | 
        //取消按钮 
 | 
        private void cmdCancel_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View; 
 | 
            RefreshTool(); 
 | 
        } 
 | 
  
 | 
        //全清 
 | 
        private void sc_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            for (int i = 0; i < grdMain.Rows.Count; i++) 
 | 
            { 
 | 
                if (grdMain.Rows[i].Visible == true) 
 | 
                { 
 | 
                    grdMain.Rows[i].Cells[HShowCol].Value = false; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        //全选 
 | 
        private void xz_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            for (int i = 0; i < grdMain.Rows.Count; i++) 
 | 
            { 
 | 
                grdMain.Rows[i].Cells[HShowCol].Value = true; 
 | 
            } 
 | 
        } 
 | 
        //修改 
 | 
        private void Modify() 
 | 
        { 
 | 
            if (AllowRow()) 
 | 
            { 
 | 
                InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_Modify; 
 | 
                RefreshTool(); 
 | 
                Init(); 
 | 
            } 
 | 
        } 
 | 
        //修改按钮 
 | 
        private void xg_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            
 | 
        } 
 | 
        //选中行是否正常 
 | 
        private bool AllowRow()  //Lock 
 | 
        { 
 | 
            if (grdMain.CurrentRow!=null) 
 | 
                return true; 
 | 
            else 
 | 
                return false; 
 | 
        } 
 | 
        
 | 
        // 
 | 
         
 | 
        //初始化界面 
 | 
        private bool Init() 
 | 
        { 
 | 
            long sItemID; 
 | 
            Sub_Clear(); 
 | 
            RefreshTool(); 
 | 
            return true; 
 | 
        } 
 | 
  
 | 
        //保存 
 | 
        private bool Save() 
 | 
        { 
 | 
            if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew) 
 | 
            { 
 | 
                Display(); 
 | 
            } 
 | 
            if (InputMode ==DBUtility.ClsPub.Enum_InputMode.InputMode_Modify) 
 | 
            { 
 | 
                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 initGrid() 
 | 
        { 
 | 
            grdMain.AllowUserToResizeRows = false;           //允许调整行高--否 
 | 
            grdMain.Columns[HSnoCol].Visible = false; 
 | 
            grdMain.ReadOnly = false; 
 | 
            //加载下拉框列 
 | 
            DataGridViewComboBoxColumn sCol = new DataGridViewComboBoxColumn(); 
 | 
            sCol.HeaderText = "对齐方式"; 
 | 
            //sCol.ReadOnly = true; 
 | 
            sCol.FlatStyle = FlatStyle.Standard; 
 | 
            sCol.Items.Add("左对齐"); 
 | 
            sCol.Items.Add("居中"); 
 | 
            sCol.Items.Add("右对齐"); 
 | 
            grdMain.Columns.Add(sCol); 
 | 
  
 | 
        } 
 | 
        //显示列表 
 | 
        private void Display() // 幻心 
 | 
        { 
 | 
            int Cols = 0; 
 | 
            char x = Convert.ToChar(","); 
 | 
            char s = Convert.ToChar("|"); 
 | 
            // 
 | 
            string sStr = ClsIni.ReadIni("GridHide", KeyItem, DBUtility.ClsPub.AppPath + @"\" + "grdWidth.wyini"); 
 | 
            for (int c = 0; c <= oGrd.ColumnCount - 1; c++) 
 | 
            { 
 | 
                if (oGrd.Columns[c].HeaderText.Trim() != "" && oGrd.Columns[c].HeaderText.Substring(0, 1).ToLower() != "h") 
 | 
                { 
 | 
                    grdMain.RowCount = grdMain.RowCount + 1; 
 | 
                    grdMain.Rows[Cols].Cells[HSnoCol].Value = c; 
 | 
                    grdMain.Rows[Cols].Cells[HCellNameCol].Value = oGrd.Columns[c].HeaderText; 
 | 
                    grdMain.Rows[Cols].Cells[HShowCol].Value = 0; 
 | 
                    Cols++; 
 | 
                } 
 | 
            } 
 | 
            if (sStr != "没有找到!") 
 | 
            { 
 | 
                string[] sCell = sStr.Split(x); 
 | 
                for (int i = 0; i < sCell.Length; i++) 
 | 
                { 
 | 
                    for (int r = 0; r < grdMain.RowCount; r++) 
 | 
                    { 
 | 
                        string[] sCol = sCell[i].Split(s); 
 | 
                        if (ClsPub.isStrNull(grdMain.Rows[r].Cells[HSnoCol].Value) == sCol[0].ToString()) 
 | 
                        { 
 | 
                            if (sCol.Length > 2) 
 | 
                            { 
 | 
                                if (sCol[1].ToString() == "1") 
 | 
                                { 
 | 
                                    grdMain.Rows[r].Cells[HShowCol].Value = true; 
 | 
                                } 
 | 
                                else 
 | 
                                { 
 | 
                                    grdMain.Rows[r].Cells[HShowCol].Value = false; 
 | 
                                } 
 | 
                            } 
 | 
                            //对齐方式 
 | 
                            if (sCol.Length > 2) 
 | 
                            { 
 | 
                                if (sCol[2].ToString() == "L") 
 | 
                                { 
 | 
                                    grdMain.Rows[r].Cells[HDuiQiCol].Value = "左对齐"; 
 | 
                                } 
 | 
                                else if (sCol[2].ToString() == "R") 
 | 
                                { 
 | 
                                    grdMain.Rows[r].Cells[HDuiQiCol].Value = "右对齐"; 
 | 
                                } 
 | 
                                else if (sCol[2].ToString() == "M") 
 | 
                                { 
 | 
                                    grdMain.Rows[r].Cells[HDuiQiCol].Value = "居中"; 
 | 
                                } 
 | 
                                else 
 | 
                                { 
 | 
                                    grdMain.Rows[r].Cells[HDuiQiCol].Value = "右对齐"; 
 | 
                                } 
 | 
                            } 
 | 
                            else 
 | 
                            { 
 | 
                                grdMain.Rows[r].Cells[HDuiQiCol].Value = "右对齐"; 
 | 
                            } 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
            //从数据库读取 
 | 
            ClsCN oCn = new ClsCN(); 
 | 
            DataSet DSet; 
 | 
            string sSql = ""; 
 | 
            sSql = "select * from h_v_Xt_GridParameterList where 操作员='" + DBUtility.ClsPub.CurUserName + "' and 模块名='" + KeyItem + "' and 网格名='" + oGrd.Name.ToString() + "' "; 
 | 
  
 | 
            DSet = oCn.RunProcReturn(sSql, "h_v_Xt_GridParameterList", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
            for (int c = 0; c <= oGrd.ColumnCount - 1; c++) 
 | 
            { 
 | 
                if (oGrd.Columns[c].HeaderText.Trim() != "" && oGrd.Columns[c].HeaderText.Substring(0, 1).ToLower() != "h") 
 | 
                { 
 | 
                    grdMain.RowCount = grdMain.RowCount + 1; 
 | 
                    grdMain.Rows[Cols].Cells[HSnoCol].Value = c; 
 | 
                    grdMain.Rows[Cols].Cells[HCellNameCol].Value = oGrd.Columns[c].HeaderText; 
 | 
                    grdMain.Rows[Cols].Cells[HShowCol].Value = 0; 
 | 
                    Cols++; 
 | 
                } 
 | 
            } 
 | 
  
 | 
  
 | 
        } 
 | 
          
 | 
        #endregion 
 | 
  
 | 
  
 | 
        #region 界面控件处理 
 | 
        //新增时清空信息 
 | 
        private void Sub_Clear()  //Lock 
 | 
        {  
 | 
            HItemID = 0;  
 | 
        } 
 | 
  
 | 
        private void DataBack() 
 | 
        { 
 | 
            int i; 
 | 
            string SaveStr = ""; 
 | 
            // 失去焦点 
 | 
            stTab.Focus(); 
 | 
            //存入INI 
 | 
            for (i = 0; i <= grdMain.RowCount - 1; i++) 
 | 
            { 
 | 
                if (i == 0) 
 | 
                    SaveStr = DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HSnoCol].Value) + "|" + DBUtility.ClsPub.BoolToString(DBUtility.ClsPub.isBool(grdMain.Rows[i].Cells[HShowCol].Value)) + "|" + ChangeStr(DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HDuiQiCol].Value)); 
 | 
                else 
 | 
                    SaveStr = SaveStr + "," + DBUtility.ClsPub.isStrNull(grdMain.Rows[i].Cells[HSnoCol].Value) + "|" + DBUtility.ClsPub.BoolToString(DBUtility.ClsPub.isBool(grdMain.Rows[i].Cells[HShowCol].Value)) + "|" + ChangeStr(DBUtility.ClsPub.isStrNull( grdMain.Rows[i].Cells[HDuiQiCol].Value)); 
 | 
            } 
 | 
            ClsIni oIni = new ClsIni(); 
 | 
            if (ClsIni.WriteIni("GridHide", KeyItem, SaveStr, DBUtility.ClsPub.AppPath + @"\" + "grdWidth.wyini")) 
 | 
                SaveStr = ""; 
 | 
            //存入数据库 
 | 
  
 | 
        } 
 | 
  
 | 
        private string ChangeStr(string s) 
 | 
        { 
 | 
            if (s == "左对齐") 
 | 
            { 
 | 
                return "L"; 
 | 
            } 
 | 
            if (s == "右对齐") 
 | 
            { 
 | 
                return "R"; 
 | 
            } 
 | 
            if (s == "居中") 
 | 
            { 
 | 
                return "M"; 
 | 
            } 
 | 
            //if (s == "L") 
 | 
            //{ 
 | 
            //    return "左对齐"; 
 | 
            //} 
 | 
            //if (s == "R") 
 | 
            //{ 
 | 
            //    return "右对齐"; 
 | 
            //} 
 | 
            //if (s == "M") 
 | 
            //{ 
 | 
            //    return "居中"; 
 | 
            //} 
 | 
            return "R"; 
 | 
        } 
 | 
  
 | 
  
 | 
        private void fh_Click(object sender, EventArgs e) 
 | 
        { 
 | 
            DataBack(); 
 | 
            this.Close(); 
 | 
        } 
 | 
         
 | 
        #endregion 
 | 
  
 | 
        private void grdMain_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) 
 | 
        { 
 | 
            if (e.ColumnIndex == HCellNameCol) 
 | 
            { 
 | 
                e.Cancel = true; ; 
 | 
            } 
 | 
            
 | 
        } 
 | 
  
 | 
        
 | 
  
 | 
         
 | 
  
 | 
         
 | 
    } 
 | 
} 
 |