using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; namespace StuMgmClient { public partial class StudentTree : UserControl { public StudentTree() { InitializeComponent(); } DataTable db = null; ////个人信息 //private DataSet ds = null; //public DataSet Ds //{ // get { return ds; } // set { ds = value; } //} ////节点table //DataTable table = null; ////dataRows转化成的table //DataTable tableClone = null; //Data da = new Data(); private void StudentTree_Load(object sender, EventArgs e) { db = SystemCtrl.GetStreeTable(); dgvStudent.Visible = false; BindRoot(); //da.GetNodesDic(table); } ////添加父节点的方法 private void BindRoot() { //ClientMysql cm = new ClientMysql(); // DataSet ds = cm.SelectNode(); //table = Ds.Tables["course_info"]; DataRow[] rows = db.Select("FirstNode=0");//取根 foreach (DataRow dRow in rows) { TreeNode rootNode = new TreeNode(); rootNode.Tag = dRow; rootNode.Text = dRow["Name"].ToString(); //把此节点放入树中 StudenTree.Nodes.Add(rootNode); //绑定子节点 BindChildAreas(rootNode);//调用添加子节点的方法 } } ////添加子节点的方法、递归绑定子区域 private void BindChildAreas(TreeNode fNode) { DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行 int fAreaId = Convert.ToInt32(dr["Id"]); //父节点ID DataRow[] rows1 = db.Select("SecondNode =" + fAreaId);//子区域 if (rows1.Length == 0) //递归终止,区域不包含子区域时 { return; } foreach (DataRow dRow in rows1) { TreeNode node = new TreeNode(); node.Tag = dRow; node.Text = dRow["Name"].ToString(); //添加子节点 fNode.Nodes.Add(node); } } ////子节点单击显示内容 //private void StudentTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) private void StudentTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { } //{ // if (e.Button == System.Windows.Forms.MouseButtons.Left) //单击鼠标左键才响应 // { // if (e.Node.Level == 1) //判断子节点才响应 // { // dgvStudent.Visible = true; // DataRow dr = (DataRow)e.Node.Tag; // int fAreaId = Convert.ToInt32(dr["id"]); //子节点ID // DataRow[] drows = table.Select("pid =" + fAreaId);//取根 // tableClone = table.Clone();//克隆表结构 // foreach (DataRow drr in drows) // { // tableClone.ImportRow(drr); // } // dgvStudent.AutoGenerateColumns = false; // dgvStudent.AllowUserToAddRows = false; // dgvStudent.DataSource = tableClone; // } // } //} private void DgvStudent_CellContentClick(object sender, DataGridViewCellEventArgs e) { } ////我的任务_查看按钮方法 //private void DgvStudent_CellContentClick(object sender, DataGridViewCellEventArgs e) //{ // if (e.ColumnIndex == 1 && e.RowIndex != -1) // { // //Dictionary stateDic = da.StateParsing(table); // Dictionary stateDic = da.GetNodesDic(table); // // string s=da.DicParsing(stateDic); // DataRow drViews = tableClone.Rows[e.RowIndex]; // int state = stateDic[Convert.ToInt32((drViews["id"]))]; // SelectFrom sf = new SelectFrom(drViews, state); // //string test = da.DicParsing(stateDic); // sf.ShowDialog(); // // ShowData(); // } //} } }