| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582 |
- using Core.Mes.Client.Comm.Control;
- using Core.Mes.Client.Comm.Server;
- using Core.Mes.Client.Comm.Tool;
- using CoreFS.CA06;
- using Infragistics.Win.UltraWinGrid;
- using Infragistics.Win.UltraWinTree;
- using System;
- using System.Collections;
- using System.Data;
- using System.Drawing;
- using System.Windows.Forms;
- namespace Core.StlMes.Client.Qcm
- {
- public partial class FrmMenuzConfigure : FrmBase
- {
- public FrmMenuzConfigure()
- {
- InitializeComponent();
- ExceptionHelper.RegistException();
- //this.IsLoadUserView = true; //平台F1功能
- }
- public override void ToolBar_Click(object sender, string ToolbarKey)
- {
- switch (ToolbarKey)
- {
- case "doQuery":
- try
- {
- this.Cursor = Cursors.WaitCursor;
- doQuery();
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- break;
- case "Close":
- this.Close();
- break;
- }
- }
- private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
- {
- if ("doQuery".Equals(e.Tool.Key))
- {
- DoQueryPage();
- }
- if ("doAdd".Equals(e.Tool.Key))
- {
- DoAdd();
- }
- if ("doUpdate".Equals(e.Tool.Key))
- {
- DoUpdate();
- }
- if ("doDelete".Equals(e.Tool.Key))
- {
- DoDelete();
- }
- }
- public void DoQueryPage()
- {
- this.dataTable1.Clear();
- if (treeView1.ActiveNode == null)
- return;
- parentCode = treeView1.ActiveNode.Tag.ToString();
- DataTable dt = new DataTable();
- dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMenuzConfigure.getPageData", new Object[] { "10", parentCode }, this.ob);
- GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
- //不同颜色区分是否有效数据
- Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
- for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- {
- row = ultraGrid1.Rows[i];
- if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("10"))
- {
- row.Appearance.ForeColor = Color.Red;
- }
- else
- {
- row.Appearance.ForeColor = Color.Black;
- }
- }
- //内容自适应
- GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, new UltraGridColumn[] {
- ultraGrid1.DisplayLayout.Bands[0].Columns["MEMO"]
- });
- }
- public void DoAdd()
- {
- if (treeView1.ActiveNode == null)
- return;
- parentCode = treeView1.ActiveNode.Tag.ToString();
- PageEdit page = new PageEdit();
- page.ShowDialog();
- if (string.IsNullOrEmpty(page.isClickYes))
- return;
- ArrayList parm = new ArrayList();
- DataTable dt = new DataTable();
- dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMenuzConfigure.GetMaxBaseCode", new Object[] { parentCode }, this.ob);
- string baseCode = "";
- if (dt.Rows.Count > 0 && !"".Equals(dt.Rows[0][0].ToString()))
- {
- baseCode = parentCode + (Convert.ToInt64(dt.Rows[0][0].ToString().Substring(parentCode.Length, 2)) + 1).ToString().PadLeft(2, '0');
- }
- else
- {
- baseCode = parentCode + "01";
- }
- parm.Add(baseCode);
- parm.Add(page.Content);
- parm.Add(page.Key);
- parm.Add(page.icoKey);
- parm.Add("P");
- parm.Add(parentCode);
- parm.Add(page.Seq);
- parm.Add("10");
- parm.Add(page.Memo);
- parm.Add(UserInfo.GetUserID());
- parm.Add(UserInfo.GetUserName());
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreMenuzConfigure";
- ccp.MethodName = "doAddMemu";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp != null)
- {
- if (ccp.ReturnCode == -1)
- {
- MessageUtil.ShowWarning(ccp.ReturnInfo);
- return;
- }
- }
- else
- {
- return;
- }
- MessageUtil.ShowTips("新增成功");
- //查询
- DoQueryPage();
- }
- public void DoUpdate()
- {
- if (ultraGrid1.ActiveRow == null)
- return;
- UltraGridRow row = ultraGrid1.ActiveRow;
- String baseCode = row.Cells["PAGE_ID"].Text;
- PageEdit page = new PageEdit();
- page.Content = row.Cells["PAGE_NAME"].Text;
- page.Key = row.Cells["PAGE_KEY"].Text;
- page.icoKey = row.Cells["ICO_KEY"].Text;
- page.Seq = row.Cells["PAGE_SEQ"].Text;
- page.Memo = row.Cells["MEMO"].Text;
- page.ShowDialog();
- if (string.IsNullOrEmpty(page.isClickYes))
- return;
- ArrayList parm = new ArrayList();
- DataTable dt = new DataTable();
- parm.Add(page.Content);
- parm.Add(page.Key);
- parm.Add(page.icoKey);
- parm.Add(page.Seq);
- parm.Add(page.Memo);
- parm.Add(UserInfo.GetUserID());
- parm.Add(UserInfo.GetUserName());
- parm.Add(baseCode);
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreMenuzConfigure";
- ccp.MethodName = "doUpdatePage";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp != null)
- {
- if (ccp.ReturnCode == -1)
- {
- MessageUtil.ShowWarning(ccp.ReturnInfo);
- return;
- }
- }
- else
- {
- return;
- }
- MessageUtil.ShowTips("修改成功");
- DoQueryPage();
- }
- public void DoDelete()
- {
- if (ultraGrid1.ActiveRow == null)
- {
- MessageUtil.ShowTips("请先选中需要删除的数据");
- return;
- }
- UltraGridRow row = ultraGrid1.ActiveRow;
- String baseCode = row.Cells["PAGE_ID"].Text;
- ArrayList parm = new ArrayList();
- parm.Add("00");
- parm.Add(UserInfo.GetUserID());
- parm.Add(UserInfo.GetUserName());
- parm.Add(baseCode);
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreMenuzConfigure";
- ccp.MethodName = "doDelete";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp != null)
- {
- if (ccp.ReturnCode == -1)
- {
- MessageUtil.ShowWarning(ccp.ReturnInfo);
- return;
- }
- }
- else
- {
- return;
- }
- MessageUtil.ShowTips("作废成功");
- DoQueryPage();
- }
- /// <summary>
- /// 树节点选中事件触发时,存储父节点id,防止当父节点选中项转移到其他焦点时,无法获取数据。
- /// </summary>
- private static string parentCode = "";
- /// <summary>
- /// 用于修改时验证重复项
- /// </summary>
- private static string VName = "";
- private bool IsExistValidChild(string baseCode)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreBaseInfoNew.isExistValidChild", new object[] { baseCode }, ob);
- if (dt != null && dt.Rows[0][0].ToString() != "0")
- {
- return true;
- }
- return false;
- }
- private bool IsExistValidParent(string sortCode)
- {
- DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreBaseInfoNew.isExistValidParent", new object[] { sortCode }, ob);
- if (dt != null && dt.Rows[0][0].ToString() != "0")
- {
- return true;
- }
- return false;
- }
-
- /// <summary>
- /// 查找具体的tag
- /// </summary>
- /// <param name="trnode"></param>
- /// <param name="treeTag"></param>
- /// <param name="treelist"></param>
- private void FindTreeNodeFromTag(TreeNode trnode, string treeTag, ref ArrayList treelist)
- {
- if (trnode.Tag != null && trnode.Tag.ToString() == treeTag)
- {
- treelist.Add(trnode);
- }
- foreach (TreeNode anode in trnode.Nodes)
- {
- FindTreeNodeFromTag(anode, treeTag, ref treelist);
- }
- }
- /// <summary>
- /// 刷新操作
- /// </summary>
- private void doQuery()
- {
- //查询按钮就当刷新功能。
- bandTreeView();
- }
- /// <summary>
- /// 刷新树控件
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void FrmBaseInfoNew_Load(object sender, EventArgs e)
- {
- bandTreeView();
- }
- /// <summary>
- /// 树控件绑定数据源
- /// </summary>
- public void bandTreeView()
- {
- treeView1.Nodes.Clear();
- DataTable dt = new DataTable();
- dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMenuzConfigure.getTreeData", new Object[] { }, this.ob);
- //树控件递归绑定方法。
- Bind_Tv(dt, treeView1.Nodes, null, "PAGE_ID", "SORT_CODE", "PAGE_NAME");
- }
- /// <summary>
- /// top复选框选中事件触发,更新树控件数据源
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void chbx_CheckedChanged(object sender, EventArgs e)
- {
- if (this.Cursor == Cursors.WaitCursor) return;
- //刷新功能。
- try
- {
- this.Cursor = Cursors.WaitCursor;
- bandTreeView();
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- /// <summary>
- /// 刷新Grid数据源
- /// </summary>
- /// <param name="basecode"></param>
- //private void binUltraGrid(string basecode)
- //{
- // this.dataTable1.Clear();
- // DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMenuzConfigure.GetMaxBaseCode", new Object[] { basecode }, this.ob);
- // GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
- // //不同颜色区分是否有效数据
- // Infragistics.Win.UltraWinGrid.UltraGridRow row = null;
- // for (int i = 0; i < ultraGrid1.Rows.Count; i++)
- // {
- // row = ultraGrid1.Rows[i];
- // if (!row.Cells["VALIDFLAG"].Value.ToString().Equals("1"))
- // {
- // row.Appearance.ForeColor = Color.Red;
- // }
- // else
- // {
- // row.Appearance.ForeColor = Color.Black;
- // }
- // }
- // //内容自适应
- // GridHelper.RefreshAndAutoSizeExceptRows(ultraGrid1, new UltraGridColumn[] {
- // ultraGrid1.DisplayLayout.Bands[0].Columns["MEMO"]
- // });
- //}
- /// <summary>
- /// 绑定TreeView(利用TreeNodeCollection)
- /// </summary>
- /// <param name="tnc">TreeNodeCollection(TreeView的节点集合)</param>
- /// <param name="pid_val">父id的值</param>
- /// <param name="id">数据库 id 字段名</param>
- /// <param name="pid">数据库 父id 字段名</param>
- /// <param name="text">数据库 文本 字段值</param>
- private void Bind_Tv(DataTable dtOld, TreeNodesCollection tnc, string pid_val, string id, string pid, string text)
- {
- dtOld.DefaultView.Sort = id + " Asc";
- DataTable dt = dtOld.DefaultView.ToTable();
- DataView dv = new DataView(dt);//将DataTable存到DataView中,以便于筛选数据
- UltraTreeNode tn;//建立TreeView的节点(TreeNode),以便将取出的数据添加到节点中
- //以下为三元运算符,如果父id为空,则为构建“父id字段 is null”的查询条件,否则构建“父id字段=父id字段值”的查询条件
- string filter = string.IsNullOrEmpty(pid_val) ? pid + " is null" : string.Format(pid + "='{0}'", pid_val);
- dv.RowFilter = filter;//利用DataView将数据进行筛选,选出相同 父id值 的数据
- dt.DefaultView.Sort = id + " Asc";
- foreach (DataRowView drv in dv)
- {
- tn = new UltraTreeNode();//建立一个新节点(学名叫:一个实例)
- tn.Tag = drv[id].ToString();//节点的Value值,一般为数据库的id值
- tn.Text = drv[text].ToString();//节点的Text,节点的文本显示
- tnc.Add(tn);//将该节点加入到TreeNodeCollection(节点集合)中
- Bind_Tv(dt, tn.Nodes, tn.Tag.ToString(), id, pid, text);//递归(反复调用这个方法,直到把数据取完为止)
- }
- }
- private void treeView1_AfterActivate(object sender, NodeEventArgs e)
- {
- try
- {
- this.Cursor = Cursors.WaitCursor;
- DoQueryPage();
- }
- finally
- {
- this.Cursor = Cursors.Default;
- }
- }
- private void addParent_Click(object sender, EventArgs e)
- {
- MenuzEdit menu = new MenuzEdit();
- //parentCode = treeView1.ActiveNode.Tag.ToString();
- menu.ShowDialog();
- if (string.IsNullOrEmpty(menu.isClickYes))
- return;
- ArrayList parm = new ArrayList();
- DataTable dt = new DataTable();
- dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMenuzConfigure.GetMaxBaseCode", new Object[] { "" }, this.ob);
- string baseCode = "";
- if (dt.Rows.Count > 0 && !"".Equals(dt.Rows[0][0].ToString()))
- {
- baseCode = "A"+(Convert.ToInt64(dt.Rows[0][0].ToString().Substring(1,2)) + 1).ToString().PadLeft(2,'0');
- }
- else
- {
- baseCode = "A01";
- }
- parm.Add(baseCode);
- parm.Add(menu.Content);
- parm.Add("");
- parm.Add(menu.Key);
- parm.Add("M");
- parm.Add("");
- parm.Add(menu.Seq);
- parm.Add("10");
- parm.Add("");
- parm.Add(UserInfo.GetUserID());
- parm.Add(UserInfo.GetUserName());
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreMenuzConfigure";
- ccp.MethodName = "doAddMemu";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1) return;
- bandTreeView();
- }
- private void addChild_Click(object sender, EventArgs e)
- {
- MenuzEdit menu = new MenuzEdit();
- if (treeView1.ActiveNode==null)
- {
- MessageUtil.ShowTips("请先选中上级模块");
- return;
- }
- parentCode = treeView1.ActiveNode.Tag.ToString();
- menu.ShowDialog();
- if (string.IsNullOrEmpty(menu.isClickYes))
- return;
- ArrayList parm = new ArrayList();
- DataTable dt = new DataTable();
- dt = ServerHelper.GetData("com.steering.pss.qcm.CoreMenuzConfigure.GetMaxBaseCode", new Object[] { parentCode }, this.ob);
- string baseCode = "";
- if (dt.Rows.Count > 0 && !"".Equals(dt.Rows[0][0].ToString()))
- {
- baseCode = parentCode + (Convert.ToInt64(dt.Rows[0][0].ToString().Substring(parentCode.Length, 2)) + 1).ToString().PadLeft(2, '0');
- }
- else
- {
- baseCode = parentCode+ "01";
- }
- parm.Add(baseCode);
- parm.Add(menu.Content);
- parm.Add("");
- parm.Add(menu.Key);
- parm.Add("M");
- parm.Add(parentCode);
- parm.Add(menu.Seq);
- parm.Add("10");
- parm.Add("");
- parm.Add(UserInfo.GetUserID());
- parm.Add(UserInfo.GetUserName());
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreMenuzConfigure";
- ccp.MethodName = "doAddMemu";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1) return;
- //当前父节点新增一个子节点
- UltraTreeNode tn = new UltraTreeNode();
- tn.Text = menu.Content;
- tn.Tag = baseCode;
- treeView1.ActiveNode.Nodes.Add(tn);
- }
- private void update_Click(object sender, EventArgs e)
- {
- MenuzEdit menu = new MenuzEdit();
- if (treeView1.ActiveNode == null)
- {
- MessageUtil.ShowTips("请先选中需要修改的数据");
- return;
- }
- parentCode = treeView1.ActiveNode.Tag.ToString();
- menu.Content = treeView1.ActiveNode.Text;
- menu.ShowDialog();
- if (string.IsNullOrEmpty(menu.isClickYes))
- return;
- ArrayList parm = new ArrayList();
- DataTable dt = new DataTable();
- parm.Add(menu.Content);
- parm.Add(menu.Key);
- parm.Add(UserInfo.GetUserID());
- parm.Add(UserInfo.GetUserName());
- parm.Add(parentCode);
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreMenuzConfigure";
- ccp.MethodName = "doUpdateMemu";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1) return;
- bandTreeView();
- }
- private void delete_Click(object sender, EventArgs e)
- {
- if (treeView1.ActiveNode == null)
- {
- MessageUtil.ShowTips("请先选中需要删除的数据");
- return;
- }
- String basecode = treeView1.ActiveNode.Tag.ToString();
- ArrayList parm = new ArrayList();
- DataTable dt = new DataTable();
-
- parm.Add("00");
- parm.Add(UserInfo.GetUserID());
- parm.Add(UserInfo.GetUserName());
- parm.Add(basecode);
- CoreClientParam ccp = new CoreClientParam();
- ccp.ServerName = "com.steering.pss.qcm.CoreMenuzConfigure";
- ccp.MethodName = "doDelete";
- ccp.ServerParams = new object[] { parm };
- ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
- if (ccp.ReturnCode == -1) return;
- bandTreeView();
- }
- }
- }
|