using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using SOH.Window; using SOH.Kernel; using EAS.Services; using EAS; using SOH.BLL; using SOH.Data; using SOH.Entities; namespace SOH.BasicSettings { [ModuleAttribute(ModuleID = "8FA3B844-4161-4B7F-9963-C50EA2711A54", ModuleName = "菜单维护")] public partial class frmMenuSet : baseChildForm { DataTable dtmenuinfos = new DataTable(); public frmMenuSet() { InitializeComponent(); } private void frmMenuSet_Load(object sender, EventArgs e) { dgvMenuInfo.AutoGenerateColumns = false; myinit(); } private void myinit() { tv_parent.Nodes.Clear(); //throw new NotImplementedException(); var vser = ServiceContainer.GetService(); string ls = vser.getMunelist(0); DataTable dt = Newtonsoft.Json.JsonConvert.DeserializeObject(ls, typeof(DataTable)) as DataTable; if (dt.Rows.Count > 0) { dt.DefaultView.Sort = "px"; dt = dt.DefaultView.ToTable(); TreeNode tn = new TreeNode(); tn.Text = "顶级菜单"; tn.Tag = 0; inittree(tn, dt); tv_parent.Nodes.Add(tn); tv_parent.ExpandAll(); } ls = vser.getMunelist(1); dtmenuinfos = Newtonsoft.Json.JsonConvert.DeserializeObject(ls, typeof(DataTable)) as DataTable; dgvMenuInfo.DataSource = dtmenuinfos; if (dtmenuinfos.Rows.Count > 0) dtmenuinfos.DefaultView.RowFilter = "pid=-1"; } private void inittree(TreeNode tn, DataTable dt) { //throw new NotImplementedException(); foreach (DataRow dr in dt.Select("pid=" + tn.Tag.ToString())) { TreeNode tcn = new TreeNode(dr["cdname"].ToString()); tcn.Tag = dr["id"]; tn.Nodes.Add(tcn); inittree(tcn, dt); } } private void btn_add_Click(object sender, EventArgs e) { frmMenuAdd fma = new frmMenuAdd(); if (fma.ShowDialog() == DialogResult.OK) { myinit(); } } private void tv_parent_AfterSelect(object sender, TreeViewEventArgs e) { //var a = e.Action; if (dtmenuinfos.Rows.Count > 0) { dtmenuinfos.DefaultView.RowFilter = "pid="+e.Node.Tag; } } private void btn_del_Click(object sender, EventArgs e) { var vser = ServiceContainer.GetService(); if (tv_parent.SelectedNode == null && dgvMenuInfo.SelectedRows.Count == 0) { MessageBox.Show("请选择要删除的菜单"); return; } OperationResult or=new OperationResult(); if (dgvMenuInfo.SelectedRows.Count > 0) { or= vser.deleteMune(int.Parse(((DataRowView)dgvMenuInfo.SelectedRows[0].DataBoundItem).Row["mid"].ToString())); } else if (tv_parent.SelectedNode != null) { or = vser.deleteMune(int.Parse(tv_parent.SelectedNode.Tag.ToString())); } MessageBox.Show(or.Message); if (or.State == 1) { myinit(); } } private void btn_modify_Click(object sender, EventArgs e) { if (tv_parent.SelectedNode == null && dgvMenuInfo.SelectedRows.Count == 0) { MessageBox.Show("请选择要修改的菜单"); return; } OperationResult or = new OperationResult(); int mid = 0; if (dgvMenuInfo.SelectedRows.Count > 0) { mid = int.Parse(((DataRowView)dgvMenuInfo.SelectedRows[0].DataBoundItem).Row["mid"].ToString()); } else if (tv_parent.SelectedNode != null) { mid = int.Parse(tv_parent.SelectedNode.Tag.ToString()); if (mid == 0) { MessageBox.Show("顶级菜单不能修改!"); return; } } frmMenuAdd fadd = new frmMenuAdd(); fadd.mid = mid; if (fadd.ShowDialog() == DialogResult.OK) { myinit(); } } private void tsm_xg_Click(object sender, EventArgs e) { int mid = 0; if (tv_parent.SelectedNode != null) { mid = int.Parse(tv_parent.SelectedNode.Tag.ToString()); if (mid == 0) { MessageBox.Show("顶级菜单不能修改!"); return; } } else { MessageBox.Show("请选择要修改的菜单"); return; } frmMenuAdd fadd = new frmMenuAdd(); fadd.mid = mid; if (fadd.ShowDialog() == DialogResult.OK) { myinit(); } } } }