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 DBUtility { public partial class Xt_CheckUserRight : Form { private int HItemIDCol = 0; private int HNumberCol = 0; //public frm_G_BillQueryCondition frmCondition; const string ViewName = "h_v_Xt_CheckUserRightList"; const string ModName = "审批用户权限设置"; public Pub_Class.ClsPub.Enum_InputMode InputMode; //录入状态标志(0-非录入状态 1-增加 2-修改) public long HItemID;//项目ID ClsCN oCn = new ClsCN(); TreeNode CurNode = new TreeNode(); ClsPub oPub = new ClsPub(); Pub_Class.ClsGridViewSum oSumGrid = new Pub_Class.ClsGridViewSum(); Pub_Class.ClsGridViewSum oSumGrid2 = new Pub_Class.ClsGridViewSum(); public Xt_CheckUserRight() { InitializeComponent(); } // #region 固定代码 //新增 private void AddNew() { InputMode = Pub_Class.ClsPub.Enum_InputMode.InputMode_AddNew; Init(); } //初始化GRID private void initGrid() { grdMain.ColumnCount = 5; //总列数 DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name); grdMain.ReadOnly = true; //是否只读 grdMain.RowCount = 0; // grdMain.Columns[0].HeaderText = "HInterID"; grdMain.Columns[1].HeaderText = "用户编号"; grdMain.Columns[2].HeaderText = "用户名称"; grdMain.Columns[3].HeaderText = "hcheckitemid"; grdMain.Columns[4].HeaderText = "审批项目"; // grdMain.Columns[0].Visible = false; grdMain.Columns[3].Visible = false; //设置可编辑列 string sAllowCol = ""; //设置合计列 string sTotalCol = ""; //格式化网格 DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol, oSumGrid); // grdSource.ColumnCount = 5; //总列数 DBUtility.Xt_BaseBillFun.initGridFst(grdSource, this.Name); grdSource.ReadOnly = true; //是否只读 grdSource.RowCount = 0; // grdSource.Columns[0].HeaderText = "HInterID"; grdSource.Columns[1].HeaderText = "用户编号"; grdSource.Columns[2].HeaderText = "用户名称"; grdSource.Columns[3].HeaderText = "hcheckitemid"; grdSource.Columns[4].HeaderText = "审批项目"; // grdSource.Columns[0].Visible = false; grdSource.Columns[3].Visible = false; //设置可编辑列 string sAllowCol2 = ""; //设置合计列 string sTotalCol2 = ""; //格式化网格 DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol2, sTotalCol2, oSumGrid2); } //显示 private void Display() { initGrid(); DisplayMain(); DisplaySource(); } //显示列表 private void DisplayMain() { ClsCN SubCn = new ClsCN(); DataSet DSet ; string sSql = "select * from h_v_Xt_CheckUserRightMain "; if (CurNode.Name == null || CurNode.Name=="") { return; } string sWhere = " Where czybm='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'"; sWhere = sWhere + " and HInterID='" + ClsPub.isLong(txtHCheckFlowID.Tag) + "'"; //过滤条件 sSql = sSql + sWhere; // //执行SQL DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); // if (DSet == null) { MessageBox.Show("显示失败!原因:" + DBUtility.ClsPub.sExeReturnInfo); return; } for (int i = 0; i <= DSet.Tables[0].Rows.Count - 1; i++) { if (i >= grdMain.RowCount - 1) grdMain.Rows.Add(); grdMain.Rows[i].Cells[0].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["HInterID"]); grdMain.Rows[i].Cells[1].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["Czybm"]); grdMain.Rows[i].Cells[2].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["用户名称"]); grdMain.Rows[i].Cells[3].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["hcheckitemid"]); grdMain.Rows[i].Cells[4].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["审批项目"]); } //加载列宽 DBUtility.Gy_BaseFun.DisplayGrid(grdMain, this.Name); // HItemIDCol = Fun_GetCol("HInterID"); HNumberCol = Fun_GetCol(ModName + "代码"); } private void DisplaySource() { ClsCN SubCn = new ClsCN(); DataSet DSet ; if (CurNode.Name == null || CurNode.Name == "") { return; } string sSql = "select * from h_v_Xt_CheckUserRightSource "; string sWhere = " Where czybm='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'"; sWhere = sWhere + " and HInterID='" + ClsPub.isLong(txtHCheckFlowID.Tag) + "'"; //过滤条件 sSql = sSql + sWhere; // //执行SQL DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo); // if (DSet == null) { MessageBox.Show("显示失败!原因:" + DBUtility.ClsPub.sExeReturnInfo); return; } for (int i = 0; i <= DSet.Tables[0].Rows.Count - 1; i++) { if (i >= grdSource.RowCount - 1) grdSource.Rows.Add(); grdSource.Rows[i].Cells[0].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["HInterID"]); grdSource.Rows[i].Cells[1].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["Czybm"]); grdSource.Rows[i].Cells[2].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["用户名称"]); grdSource.Rows[i].Cells[3].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["hcheckitemid"]); grdSource.Rows[i].Cells[4].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["审批项目"]); } //加载列宽 DBUtility.Gy_BaseFun.DisplayGrid(grdSource, this.Name); // HItemIDCol = Fun_GetCol("HInterID"); HNumberCol = Fun_GetCol(ModName + "代码"); } //得到对应列 private Int32 Fun_GetCol(string sCol) { return DBUtility.Gy_BaseFun.Fun_GetCol(sCol, grdMain); } //退出模块 private void tc_Click(object sender, EventArgs e) { this.Close(); } //刷新 private void xs_Click(object sender, EventArgs e) { Display(); } //树型 单击 private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { CurNode = e.Node; if (CurNode != null) { //找到选中结点 Display(); } } //查找结点 private void FindRow(string sCode) { //sCode = sCode.Trim(); //char c = Convert.ToChar("-"); //string[] s = sCode.Split(c); //if (s.Length > 0) //{ // sCode = s[0].Trim(); // grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone; // for (int i = grdMain.FixedRows; i < grdMain.Rows; i++) // { // if (sCode.Trim() == grdMain.get_TextMatrix(i, HNumberCol)) // { // grdMain.TopRow = i; // grdMain.Row = i; // } // } // grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; //} } //时间控件 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; Display(); } //删除项目 public void Delete() { if (DBUtility.Gy_BaseFun.AllowRow(grdMain)) { } } private void bclk_Click(object sender, EventArgs e) { DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); DBUtility.ClsPub.SaveGridView(grdSource, this.Name, DBUtility.ClsPub.AppPath); } private void mrlk_Click(object sender, EventArgs e) { DBUtility.ClsPub.DefaultGridView(grdMain); //参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽 DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); DBUtility.ClsPub.DefaultGridView(grdSource); //参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽 DBUtility.ClsPub.SaveGridView(grdSource, this.Name, DBUtility.ClsPub.AppPath); } //保存GRID列宽 private void Xt_CheckUserRight_FormClosing(object sender, FormClosingEventArgs e) { DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath); DBUtility.ClsPub.SaveGridView(grdSource, this.Name, DBUtility.ClsPub.AppPath); } //窗体加载 private void Xt_CheckUserRight_Load(object sender, EventArgs e) { oSumGrid.NoCol = 0; oSumGrid.ogrdMain = grdMain; //oSumGrid.oGridsum = grdMain; // oSumGrid2.NoCol = 0; oSumGrid2.ogrdMain = grdSource; //oSumGrid2.oGridsum = grdSource; LoadTree(); initGrid(); } //加载树形 private void LoadTree() { try { tv.Nodes.Clear(); tv.ImageList = imageList1; TreeNode sNode = tv.Nodes.Add("T0", this.Text,0, 1); //sNode.Expand(); LoadAllNodes(sNode); } catch (Exception e ) { MessageBox.Show("加载树型失败!" + e.Message, "提示"); } } //初始化界面 private bool Init() { txtHCheckFlowID.Tag = "0"; return true; } #endregion #region 界面控件处理 //保存 private bool Save() { if (CurNode.Name == null || CurNode.Name == "") { MessageBox.Show("保存失败,选择的结点有异常!"); return false; } try { oCn.BeginTran(); //删除原记录 oCn.RunProc("Delete From Xt_CheckUserRight where HUserID='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'and HCheckFlowInterID=" + ClsPub.isLong(txtHCheckFlowID.Tag) + ""); //新增记录 for (int i = 0; i <= grdMain.RowCount - 1; i++) { oCn.RunProc("insert into Xt_CheckUserRight(HUserID,HCheckFlowInterID,HCheckItemID) values('" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'," + ClsPub.isLong(txtHCheckFlowID.Tag) + "," + ClsPub.isLong(grdMain.Rows[i].Cells[3].Value) + ") "); } oCn.Commit(); } catch (Exception e) { oCn.RollBack(); MessageBox.Show("保存失败!" + e.Message); } return true; } //新增时清空信息 private void Sub_Clear() { return; // } //加载子结点 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 * from Gy_Czygl ", "Xt_CheckUserRight"); for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["Czybm"].ToString(), Ds.Tables[0].Rows[i]["Czymc"].ToString(), 0, 1); } sNode.Expand(); } catch (Exception e) { MessageBox.Show("加载子项目失败!" + e.Message, "提示"); } } } private void cmdQForward_Click(object sender, EventArgs e) { if (grdSource.CurrentRow != null) { grdMain.Rows.Add(); grdMain.Rows[grdMain.Rows.Count - 1].Cells[4].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[4].Value; grdMain.Rows[grdMain.Rows.Count - 1].Cells[3].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[3].Value; grdMain.Rows[grdMain.Rows.Count - 1].Cells[2].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[2].Value; grdMain.Rows[grdMain.Rows.Count - 1].Cells[1].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[1].Value; grdMain.Rows[grdMain.Rows.Count - 1].Cells[0].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[0].Value; // grdSource.Rows.RemoveAt(grdSource.CurrentCell.RowIndex); Save(); } } private void cmdQBack_Click(object sender, EventArgs e) { if (grdMain.CurrentRow != null) { grdSource.Rows.Add(); grdSource.Rows[grdSource.Rows.Count - 1].Cells[4].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[4].Value; grdSource.Rows[grdSource.Rows.Count - 1].Cells[3].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[3].Value; grdSource.Rows[grdSource.Rows.Count - 1].Cells[2].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[2].Value; grdSource.Rows[grdSource.Rows.Count - 1].Cells[1].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[1].Value; grdSource.Rows[grdSource.Rows.Count - 1].Cells[0].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[0].Value; // grdMain.Rows.RemoveAt(grdSource.CurrentCell.RowIndex); Save(); } } #endregion private void cmdHCheckFlowID_Click(object sender, EventArgs e) { ClsXt_CheckFlowHlp oCheck = new ClsXt_CheckFlowHlp(); if (oCheck.Refresh()) { txtHCheckFlowID.Text = oCheck.HName; txtHCheckFlowID.Tag = oCheck.HInterID.ToString(); } else { txtHCheckFlowID.Text = ""; } } private void txtHCheckFlowID_TextChanged(object sender, EventArgs e) { if (txtHCheckFlowID.Text.Trim() == "") { txtHCheckFlowID.Tag = "0"; } } } }