C# 树状图
标签:raw send 树状 names foreach vat node mode tostring
效果图:
结构:
frmMain层
using hierarchy.BLL;
using hierarchy.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace hierarchy.UI
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
hierarchysBll bll = new hierarchysBll();
List list = null;
private void frmMain_Load(object sender, EventArgs e)
{
tvmo();
}
#region MyRegion
public void tvmo() {
tvMov.Nodes.Clear();
TreeNode dd = null;
list = bll.findAll();
foreach (Thelog item in list)
{
dd = new TreeNode();
if (item.Qfatherid == 0)
{
dd.Tag = item.Qid;
dd.Text = item.Qname;
tvMov.Nodes.Add(dd);
GetNode(dd, item.Qid);
}
}
}
private void GetNode(TreeNode Qname, int Qid)
{
list = bll.findAll();
TreeNode tn = null;
if (list.Count > 0)
{
foreach (Thelog drv in list)
{
if (Qid == drv.Qfatherid)
{
tn = new TreeNode();
tn.Tag = drv.Qid;
tn.Text = drv.Qname;
Qname.Nodes.Add(tn);
GetNode(tn, drv.Qid);
}
}
}
}
#endregion
private void button1_Click(object sender, EventArgs e)
{
TreeNode node = tvMov.SelectedNode;
int s = (int)node.Tag;
int i = node.Level;
frmaddlei add = new frmaddlei(s, i, node);
add.Show();
}
private void button3_Click(object sender, EventArgs e)
{
TreeNode node = tvMov.SelectedNode;
int id = (int)node.Tag;
bool bl = bll.finddel(id);
if (bl)
{
node.Remove();
MessageBox.Show("删除成功!!");
}
else
{
MessageBox.Show("出错啦!!!");
}
}
private void button2_Click(object sender, EventArgs e)
{
TreeNode node = tvMov.SelectedNode;
int s = (int)node.Tag;
string i = node.Text;
frmup add = new frmup(s, i, node);
add.Show();
}
private void tvMov_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeNode node = tvMov.SelectedNode;
string i = node.Text;
MessageBox.Show(i);
}
}
}
删除层
using hierarchy.BLL;
using hierarchy.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace hierarchy.UI
{
public partial class frmaddlei : Form
{
public frmaddlei()
{
InitializeComponent();
}
int ss = 0;
int ii = 0;
TreeNode aodee = null;
public frmaddlei(int s, int i, TreeNode aode)
{
ss = s;
ii = i;
aodee = aode;
InitializeComponent();
}
hierarchysBll bll = new hierarchysBll();
private void button1_Click(object sender, EventArgs e)
{
Thelog Thelog = new Thelog();
Thelog.Qname = tbxname.Text;
Thelog.Qfatherid=ii;
Thelog.Qtier = ss;
bool bl = bll.findAdd(Thelog);
if (bl)
{
MessageBox.Show("添加成功");
string guid = Guid.NewGuid().ToString();
TreeNode t = new TreeNode(this.tbxname.Text);
t.Tag = guid;
aodee.Nodes.Add(t);
this.Close();
}
}
}
}
Dal层
using hierarchy.Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace hierarchy.DAL
{
public class hierarchysDAL
{
//01.写一个查询所有年级的方法
public List findAllGrades()
{
List list = new List();
string sql = "select [StudentName] from [Address_IS]";
DataTable table = SQLHelper.ExecuteDataTable(sql);
foreach (DataRow item in table.Rows)
{
Models Models = new Models();
Models.StudentName = item["StudentName"].ToString();
list.Add(Models);
}
return list;
}
//01.写一个查询所有年级的方法
public List findAll()
{
List list = new List();
string sql = "SELECT * FROM Thelog";
DataTable table = SQLHelper.ExecuteDataTable(sql);
foreach (DataRow item in table.Rows)
{
Thelog Thelog = new Thelog();
Thelog.Qid = Convert.ToInt32(item["qid"]);
Thelog.Qname = item["qname"].ToString();
Thelog.Qtier = Convert.ToInt32(item["qtier"]);
Thelog.Qfatherid = Convert.ToInt32(item["qfatherid"]);
list.Add(Thelog);
}
return list;
}
public bool findAdd(Thelog Thelog)
{
bool bl = false;
string sql = @"INSERT INTO Thelog(qname,qfatherid,qtier) VALUES(@name,@fatherid,@tid)";
SqlParameter[] paras = {
new SqlParameter("@name", Thelog.Qname),
new SqlParameter("@fatherid", Thelog.Qtier),
new SqlParameter("@tid", Thelog.Qfatherid)
};
int i = (int)SQLHelper.ExecuteNonQuery(sql,paras);
if (i > 0)
{
bl = true;
}
return bl;
}
public bool finddel(int id) {
bool bl = false;
string sql = "delete from Thelog where qid=@nid";
SqlParameter[] paras = {
new SqlParameter("@nid",id)
};
int i = (int)SQLHelper.ExecuteNonQuery(sql, paras);
if (i > 0)
{
bl = true;
}
return bl;
}
public bool update(Thelog Thelog)
{
bool bl = false;
string sql = "update Thelog set qname=@name where qid=@id";
SqlParameter[] paras = {
new SqlParameter("@name", Thelog.Qname),
new SqlParameter("@id", Thelog.Qid)
};
int i = (int)SQLHelper.ExecuteNonQuery(sql, paras);
if (i > 0)
{
bl = true;
}
return bl;
}
}
}
C# 树状图
标签:raw send 树状 names foreach vat node mode tostring
原文地址:https://www.cnblogs.com/liehuonanjue/p/9221043.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
C# 树状图
文章链接:http://soscw.com/index.php/essay/71317.html
评论