[c-sharp] view plaincopyprint?
- namespace TreeView
- {
- public partial class Form1 : Form
- {
- DataTable dt = null;
- public Form1()
- {
- InitializeComponent();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- dt = GetTreeView();
- InitTreeView(treeView1.Nodes, 0);
- }
- public void InitTreeView(TreeNodeCollection con,int parentID)
- {
- TreeNode node = null;
- string strExpress = string.Format(" parentID={0}",parentID);
- DataRow[] dr = dt.Select(strExpress);
- foreach (DataRow row in dr)
- {
- node = new TreeNode();
- node.Text = row["name"].ToString();
- int ID = Convert.ToInt32(row["ID"].ToString());
- InitTreeView(node.Nodes, ID);
- con.Add(node);
- }
- }
- public DataTable GetTreeView()
- {
- //int parent = 0;
- string conn = "server=.;database=test;uid=sa;pwd=123";
- string strFor = string.Format("select * from menu");
- SqlConnection con = new SqlConnection(conn);
- DataTable dt = new DataTable();
- SqlDataAdapter da = new SqlDataAdapter(strFor, con);
- da.Fill(dt);
- return dt;
- }
- private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
- {
- MessageBox.Show(e.Node.Text);
- }
- }
- }
效果如图: