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