| 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; ; | 
|             } | 
|             | 
|         } | 
|   | 
|         | 
|   | 
|          | 
|   | 
|          | 
|     } | 
| } |