using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Pub_Control { public partial class frmHlpInfo : Form { public frmHlpInfo() { InitializeComponent(); } public string WherePart; public string sTitle; public string sBill; public string sView; public int CurCol = 0; public int Cur2Col = 0; public string sOtherItem; public string sSQLWhere; TreeNode CurNode = new TreeNode(); public Pub_Class.ClsPub.Enum_OKTag OKTag; Pub_Class.ClsSqlHelper oCn = new Pub_Class.ClsSqlHelper(); private void frmHlpInfo_Load(object sender, EventArgs e) { initGrid(); LoadTree(); QueryText(); } //初始化GRID private void initGrid() { grdShow.RowTemplate.Height = 18; //行高设置 grdShow.RowTemplate.MinimumHeight = 18; //最小行高 grdShow.ColumnHeadersHeight = 35; //标题行高 grdShow.RowHeadersVisible = false; //固定列是否显示 grdShow.ColumnHeadersVisible = true; //固定行是否显示 grdShow.ReadOnly = true; //只读--是 // grdShow.RowsDefaultCellStyle.SelectionForeColor = Color.White; //行选中字体颜色 grdShow.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; //内容布局(居中,靠右) grdShow.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//标题行布局(居中,靠右) grdShow.SelectionMode = DataGridViewSelectionMode.FullRowSelect; //选行模式 grdShow.EditMode = DataGridViewEditMode.EditOnEnter; //编辑模式 grdShow.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; //标题行高 调整模式 grdShow.EnableHeadersVisualStyles = true; //标题 显示样式 grdShow.AllowUserToAddRows = false; //是否允许自增--否 grdShow.AllowUserToDeleteRows = false; //是否允许删除--否 grdShow.AllowUserToResizeColumns = true; //允许调整列宽--是 grdShow.AllowUserToResizeRows = false; //允许调整行高--否 grdShow.AllowUserToOrderColumns = false; //是否允许拖拽列 grdShow.BackgroundColor = Color.White; //网格背景色 grdShow.GridColor = Color.LightGray; //网格线颜色 grdShow.DefaultCellStyle.SelectionBackColor = Color.Black; //选中时背景颜色 grdShow.ShowCellToolTips = false; //鼠标停留 显示提示 grdShow.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;//网格内容 对齐方式 } //双击 GRID private void grdMain_DblClick(object sender, EventArgs e) { //if (AllowRow()) if (grdShow.CurrentCell == null) { return; } BackData(); } //时间TIMER private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; this.Text = sTitle; //如果过滤框有内容 则自动过滤 if (this.txtFindInfo.Text.Trim()!= "") { QueryText(); } } //返回 private void BackData() { OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_OK; this.Visible = false; } //退出 private void tc_Click(object sender, EventArgs e) { OKTag = Pub_Class.ClsPub.Enum_OKTag.OKTag_Cancel; this.Visible = false; } //返回按钮 private void fh_Click(object sender, EventArgs e) { BackData(); } //单击树形 private void tvProcess_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { CurNode = e.Node; if (CurNode != null) { if (CurNode.Nodes.Count == 0) { LoadAllNodes(CurNode); } QueryTree(); } } //加载树型 private void LoadTree() { try { tvTree.Nodes.Clear(); tvTree.ImageList = imageList1; TreeNode sNode = tvTree.Nodes.Add("T0", this.Text, 0, 1); LoadAllNodes(sNode); } catch (Exception e) { MessageBox.Show(this, "加载树型失败!" + e.Message, "提示"); } } //加载子项目 private void LoadAllNodes(TreeNode sNode) { if (sNode != null) { try { long sName = Convert.ToInt64(sNode.Name.Substring(1, sNode.Name.Length - 1)); sNode.Nodes.Clear(); DataSet Ds = oCn.RunProcReturn("select HItemID,HNumber 物料代码,HName 物料名称 from " + sBill + " where HEndFlag=0 and HParentID='" + sName + "'", sBill); for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["HItemID"].ToString(), Ds.Tables[0].Rows[i]["物料代码"].ToString() + "~" + Ds.Tables[0].Rows[i]["物料名称"].ToString(), 0, 1); } sNode.Expand(); } catch (Exception e) { //MessageBox.Show("加载子项目失败!" + e.Message); } } } //保存列宽 private void frmHlpInfo_FormClosing(object sender, FormClosingEventArgs e) { //ClsPub.SaveGrid(grdMain, sTitle); } //过滤项目 private void QueryText() { try { string sWhere = ""; if (CurCol != null) { switch (CurCol) { case 0: sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; break; case 1: sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; break; case 2: sWhere = "and HName like '%" + txtFindInfo.Text.Trim() + "%'"; break; case 3: sWhere = "and HModel like '%" + txtFindInfo.Text.Trim() + "%'"; break; case 4: sWhere = " and HPicNo like '%" + txtFindInfo.Text.Trim() + "%'"; break; default: sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; break; } } else { sWhere = "and Hnumber like '%" + txtFindInfo.Text.Trim() + "%'"; } string sWhere2 = ""; if (txtFindInfo2.Text.Trim() != "") { if (Cur2Col != null) { switch (Cur2Col) { case 0: sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; break; case 1: sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; break; case 2: sWhere2 = " and Hname like '%" + txtFindInfo2.Text.Trim() + "%'"; break; case 3: sWhere2 = " and HModel like '%" + txtFindInfo2.Text.Trim() + "%'"; break; case 4: sWhere2 = " and HPicNo like '%" + txtFindInfo2.Text.Trim() + "%'"; break; default: sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; break; } } else { sWhere2 = " and Hnumber like '%" + txtFindInfo2.Text.Trim() + "%'"; } } string sSQL = "Select HItemID,Hnumber 物料代码,Hname 物料名称,HModel 规格型号,HPicNo 图号,HUnitNumber 单位代码,Hunitname 计量单位,HUnitID " + sOtherItem + " from " + sBill + " where HEndFlag=1 " + sWhere + sWhere2 + sSQLWhere + " Order by Hnumber "; //编辑ofrm // ExecSQL(sSQL); return; } catch (Exception e) { MessageBox.Show("显示失败!"+e.Message ); return; } } //执行SQL private void ExecSQL(string sSQL) { DataSet Ds = new DataSet(); Ds = oCn.RunProcReturn(sSQL, sBill); grdShow.DataSource = Ds.Tables[0].DefaultView; //隐藏H列 string s = ""; for (int i = 0; i < grdShow.ColumnCount; i++) { s = grdShow.Columns[i].HeaderText.Trim(); if (s.Substring(0, 1).ToUpper() == "H") { grdShow.Columns[i].Visible = false; } else { grdShow.Columns[i].Visible = true; } } //获取列宽 Pub_Class.ClsPub.GetGridView(grdShow, this.Name + this.sTitle, Pub_Class.ClsPub.AppPath); } //树形过滤项目 private void QueryTree() { try { string sWhere = ""; if (CurNode != null) { char c = Convert.ToChar("~"); string[] s = CurNode.Text.Split(c); if (s.Length > 1) { sWhere = "and Hnumber like '" + s[0].Trim() + "%'"; } else { sWhere = "";//选中 最大结点的时候 } } else { sWhere = ""; } string sSQL = "Select HItemID,Hnumber 物料代码,Hname 物料名称,HModel 规格型号,HPicNo 图号,HUnitNumber 单位代码,Hunitname 计量单位,HUnitID " + sOtherItem + " from " + sBill + " where HEndFlag=1 " + sWhere + " Order by Hnumber "; //编辑ofrm // ExecSQL(sSQL); return; } catch (Exception e) { MessageBox.Show("显示失败!" + e.Message); return; } } private void chkMH_CheckedChanged(object sender, EventArgs e) { QueryText(); } private void cx_Click(object sender, EventArgs e) { QueryText(); } private void grdShow_DoubleClick(object sender, EventArgs e) { if (grdShow.CurrentCell == null) { return; } BackData(); } private void grdShow_Click(object sender, EventArgs e) { if (grdShow.CurrentCell == null) { return; } if (grdShow.CurrentCell.ColumnIndex >= 0) { lblFindCol.Text = grdShow.Columns[grdShow.CurrentCell.ColumnIndex].HeaderText; CurCol = grdShow.CurrentCell.ColumnIndex; } else { lblFindCol.Text = grdShow.Columns[1].HeaderText; CurCol = 1; } } private void txtFindInfo_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { QueryText(); } } private void txtFindInfo_TextChanged(object sender, EventArgs e) { } private void grdShow_MouseClick(object sender, MouseEventArgs e) { if (grdShow.CurrentCell == null) { return; } if (e.Button == MouseButtons.Right) { if (grdShow.CurrentCell.ColumnIndex >= 0) { lblFind2Col.Text = grdShow.Columns[grdShow.CurrentCell.ColumnIndex].HeaderText; Cur2Col = grdShow.CurrentCell.ColumnIndex; } else { lblFind2Col.Text = grdShow.Columns[1].HeaderText; Cur2Col = 1; } } } private void txtFindInfo2_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { QueryText(); } } private void bclk_Click(object sender, EventArgs e) { Pub_Class.ClsPub.SaveGridView(grdShow, this.Name + this.sTitle, Pub_Class.ClsPub.AppPath); } } }