using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace DBUtility { public partial class Gy_UserSelect2 : Form { private int HItemIDCol = 0; private int HNumberCol = 0; public DBUtility.frm_B_BillQueryCondition_New frmCondition; const string ViewName = "h_v_Gy_UserList"; const string ModName = "选择用户"; public DBUtility.ClsPub.Enum_InputMode InputMode; //录入状态标志(0-非录入状态 1-增加 2-修改) public long HItemID;//项目ID SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); TreeNode CurNode = new TreeNode(); public bool bSingle = false; public string sReturn = ""; public int IsOk = 0; public Gy_UserSelect2() { InitializeComponent(); } // #region 固定代码 //新增 private void AddNew() { InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew; Init(); } //初始化GRID private void initGrid() { grdMain.Cols = 5; grdMain.Rows = 1; grdMain.FixedCols = 1; grdMain.FixedRows = 1; grdMain.set_TextMatrix(0, 0, "序号"); grdMain.set_TextMatrix(0, 1, "用户ID"); grdMain.set_TextMatrix(0, 2, "用户"); grdMain.set_TextMatrix(0, 3, "用户组ID"); grdMain.set_TextMatrix(0, 4, "用户组"); grdMain.set_ColHidden(1, true); grdMain.set_ColHidden(3, true); // grdMain.ExplorerBar = VSFlex7.ExplorerBarSettings.flexExSortAndMove; grdMain.AllowBigSelection = false; grdMain.AllowSelection = false; grdMain.SelectionMode = VSFlex7.SelModeSettings.flexSelectionByRow; grdMain.ScrollTrack = true; grdMain.WordWrap = true; grdMain.set_ColWidth(-1, 1500); grdMain.set_RowHeight(-1, 400); grdMain.set_RowHeight(0, 500); grdMain.RowHeightMin = 250; grdMain.Editable = VSFlex7.EditableSettings.flexEDNone; grdMain.AllowUserResizing = VSFlex7.AllowUserResizeSettings.flexResizeBoth; grdMain.AllowUserFreezing = VSFlex7.AllowUserFreezeSettings.flexFreezeBoth; grdMain.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); grdMain.AutoSizeMode = VSFlex7.AutoSizeSettings.flexAutoSizeColWidth; // DBUtility.ClsPub.GetGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); // grdSource.Cols = 1; grdSource.Rows = 1; grdSource.FixedCols = 1; grdSource.FixedRows = 1; grdSource.ExplorerBar = VSFlex7.ExplorerBarSettings.flexExSortAndMove; grdSource.AllowBigSelection = false; grdSource.AllowSelection = false; grdSource.SelectionMode = VSFlex7.SelModeSettings.flexSelectionByRow; grdSource.ScrollTrack = true; grdSource.WordWrap = true; grdSource.set_ColWidth(-1, 1500); grdSource.set_RowHeight(-1, 400); grdSource.set_RowHeight(0, 500); grdSource.RowHeightMin = 250; grdSource.Editable = VSFlex7.EditableSettings.flexEDNone; grdSource.AllowUserResizing = VSFlex7.AllowUserResizeSettings.flexResizeBoth; grdSource.AllowUserFreezing = VSFlex7.AllowUserFreezeSettings.flexFreezeBoth; grdSource.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); grdSource.AutoSizeMode = VSFlex7.AutoSizeSettings.flexAutoSizeColWidth; // DBUtility.ClsPub.GetGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); } //显示 private void Display() { DisplaySource(); } //显示列表 private void DisplaySource() { SQLHelper.ClsCN SubCn = new SQLHelper.ClsCN(); DataSet DSet = new DataSet(); grdSource.Rows = grdSource.FixedRows; string sSql = "select * from h_v_Gy_UserList "; string sWhere = "order by czybm"; //过滤条件 sSql = sSql + sWhere; // DSet = SubCn.RunProcReturn(sSql, ViewName); //生成首行标题 if (DSet == null) { return; } // grdSource.Redraw = VSFlex7.RedrawSettings.flexRDNone; // grdSource.Cols = DSet.Tables[0].Columns.Count + grdSource.FixedCols; grdSource.set_TextMatrix(0, grdSource.FixedCols - 1, "序号"); grdSource.set_ColWidth(0, 500); for (int i = 0; i <= DSet.Tables[0].Columns.Count - 1; i++) { grdSource.set_TextMatrix(0, i + grdSource.FixedCols, DSet.Tables[0].Columns[i].Caption); if (DSet.Tables[0].Columns[i].Caption.ToLower().Substring(0, 1) == "h") //首字母为h则隐藏 { grdSource.set_ColHidden(i + grdSource.FixedCols, true); } else { grdSource.set_ColHidden(i + grdSource.FixedCols, false); grdSource.set_ColWidth(i + grdSource.FixedCols, 1000); } } if (DSet.Tables[0].Rows.Count == 0) { grdSource.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; return; } //填充网格 string s = ""; grdSource.Rows = DSet.Tables[0].Rows.Count + grdSource.FixedRows; for (int i = 0; i <= DSet.Tables[0].Rows.Count - 1; i++) { grdSource.set_TextMatrix(i + grdSource.FixedRows, 0, (i + grdSource.FixedRows).ToString()); for (int j = 0; j <= DSet.Tables[0].Columns.Count - 1; j++) { s = DSet.Tables[0].Rows[i][j].ToString(); grdSource.set_TextMatrix(i + grdSource.FixedRows, j + grdSource.FixedCols, s); } } //固定行 中间对齐 grdSource.set_FixedAlignment(-1, VSFlex7.AlignmentSettings.flexAlignCenterCenter); //加载列宽 DBUtility.ClsPub.GetGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); // grdSource.Redraw = VSFlex7.RedrawSettings.flexRDBuffered; } //得到对应列 private Int32 Fun_GetCol(string sCol) { for (int c = 0; c < grdMain.Cols; c++) { if (DBUtility.ClsPub.isStrNull(grdMain.get_TextMatrix(0, c)).ToUpper().Trim() == sCol.Trim().ToUpper()) { return c; } } return 0; } //退出模块 private void tc_Click(object sender, EventArgs e) { this.Close(); } //刷新 private void xs_Click(object sender, EventArgs e) { initGrid(); Display(); } //树型 单击 private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { CurNode = e.Node; if (CurNode != null) { //找到选中结点 initGrid(); 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 bool AllowRow() { if (grdMain.Row >= grdMain.FixedRows && grdMain.Row <= grdMain.Rows - 1) return true; else return false; } //时间控件 private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; Display(); } //删除项目 public void Delete() { if (AllowRow()) { } } private void bclk_Click(object sender, EventArgs e) { //保存列宽 DBUtility.ClsPub.SaveGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); DBUtility.ClsPub.SaveGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); } private void mrlk_Click(object sender, EventArgs e) { grdMain.AutoSize(0, grdMain.Cols - 1, false, 1); //参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽 DBUtility.ClsPub.SaveGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); grdSource.AutoSize(0, grdSource.Cols - 1, false, 1); //参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽 DBUtility.ClsPub.SaveGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); } //保存GRID列宽 private void Gy_UserSelect2_FormClosing(object sender, FormClosingEventArgs e) { DBUtility.ClsPub.SaveGrid(grdMain, this.Name, DBUtility.ClsPub.AppPath); DBUtility.ClsPub.SaveGrid(grdSource, this.Name + "grdSource", DBUtility.ClsPub.AppPath); } //窗体加载 private void Gy_UserSelect2_Load(object sender, EventArgs e) { LoadTree(); initGrid(); Display(); } //加载树形 private void LoadTree() { try { tv.Nodes.Clear(); tv.ImageList = imageList1; TreeNode sNode = tv.Nodes.Add("T0", "用户组", 0, 1); //sNode.Expand(); LoadAllNodes(sNode); } catch (Exception e) { MessageBox.Show("加载树型失败!" + e.Message, "提示"); } } //初始化界面 private bool Init() { return true; } #endregion #region 界面控件处理 //保存 //private bool Save() //{ // if (CurNode.Name == null || CurNode.Name == "") // { // MessageBox.Show("保存失败,选择的结点有异常!"); // return false; // } // try // { // oCn.BeginTran(); // //删除原记录 // oCn.RunProc("Delete From Gy_UserSelect2 where HUserID='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'"); // //新增记录 // for (int i = grdMain.FixedRows; i < grdMain.Rows; i++) // { // oCn.RunProc("insert into Gy_UserSelect2(HCusID,HUserID) values(" + DBUtility.ClsPub.isLong(grdMain.get_TextMatrix(i, 1)) + ",'" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "') "); // } // 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 System_UserGroup ", "System_UserGroup"); for (int i = 0; i < Ds.Tables[0].Rows.Count; i++) { TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["GroupID"].ToString(), Ds.Tables[0].Rows[i]["GroupName"].ToString(), 0, 1); } sNode.Expand(); } catch (Exception e) { MessageBox.Show("加载子项目失败!" + e.Message, "提示"); } } } private void cmdQForward_Click(object sender, EventArgs e) { if (grdSource.Row >= grdSource.FixedRows) { grdMain.AddItem(""); grdMain.set_TextMatrix(grdMain.Rows - 1, 4, grdSource.get_TextMatrix(grdSource.Row, 4)); grdMain.set_TextMatrix(grdMain.Rows - 1, 3, grdSource.get_TextMatrix(grdSource.Row, 3)); grdMain.set_TextMatrix(grdMain.Rows - 1, 2, grdSource.get_TextMatrix(grdSource.Row, 2)); grdMain.set_TextMatrix(grdMain.Rows - 1, 1, grdSource.get_TextMatrix(grdSource.Row, 1)); grdSource.RemoveItem(grdSource.Row); } } private void cmdQBack_Click(object sender, EventArgs e) { if (grdMain.Row >= grdMain.FixedRows) { grdSource.AddItem(""); grdSource.set_TextMatrix(grdSource.Rows - 1, 4, grdMain.get_TextMatrix(grdMain.Row, 4)); grdSource.set_TextMatrix(grdSource.Rows - 1, 3, grdMain.get_TextMatrix(grdMain.Row, 3)); grdSource.set_TextMatrix(grdSource.Rows - 1, 2, grdMain.get_TextMatrix(grdMain.Row, 2)); grdSource.set_TextMatrix(grdSource.Rows - 1, 1, grdMain.get_TextMatrix(grdMain.Row, 1)); grdMain.RemoveItem(grdMain.Row); } } private void cmdQForwardAll_Click(object sender, EventArgs e) { int Rows = grdSource.Rows; for (int i = Rows - 1; i > 0; i--) { grdMain.AddItem(""); grdMain.set_TextMatrix(Rows - i, 4, grdSource.get_TextMatrix(i, 4)); grdMain.set_TextMatrix(Rows - i, 3, grdSource.get_TextMatrix(i, 3)); grdMain.set_TextMatrix(Rows - i, 2, grdSource.get_TextMatrix(i, 2)); grdMain.set_TextMatrix(Rows - i, 1, grdSource.get_TextMatrix(i, 1)); grdSource.RemoveItem(i); } } private void cmdQBackAll_Click(object sender, EventArgs e) { int Rows = grdMain.Rows; for (int i = Rows - 1; i > 0; i--) { grdSource.AddItem(""); grdSource.set_TextMatrix(Rows - i, 4, grdMain.get_TextMatrix(i, 4)); grdSource.set_TextMatrix(Rows - i, 3, grdMain.get_TextMatrix(i, 3)); grdSource.set_TextMatrix(Rows - i, 2, grdMain.get_TextMatrix(i, 2)); grdSource.set_TextMatrix(Rows - i, 1, grdMain.get_TextMatrix(i, 1)); grdMain.RemoveItem(i); } } private void cmdCancel_Click(object sender, EventArgs e) { sReturn = ""; IsOk = 2; this.Visible = false; } private void cmdOK_Click(object sender, EventArgs e) { sReturn = ""; if (bSingle) { if (grdMain.Rows > 2) { MessageBox.Show("只允许选择一个用户!", "提示"); return; } } for (int i = grdMain.FixedRows; i <= grdMain.Rows - 1; i++) { sReturn = sReturn + "," + grdMain.get_TextMatrix(i, 2); } if (sReturn.Trim() != "") { sReturn = sReturn.Substring(1, sReturn.Length - 1); } IsOk = 1; this.Visible = false; } private void Gy_UserSelect2_Activated(object sender, EventArgs e) { IsOk = 0; } #endregion } }