我想在Treeview中显示所有节点,无论我在数据库中输入什么... [英] i want to show all nodes in treeview whatever i enter in database...

查看:51
本文介绍了我想在Treeview中显示所有节点,无论我在数据库中输入什么...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无论我在数据库中输入什么内容,我都希望以树状视图显示所有节点,但是它仅显示一个节点.仅显示顶部"节点.

如何显示数据库中的所有节点?

这是我的代码:

I would like to show all nodes in tree view whatever I enter in database, but it is showing only one node. Only the Top node is showing.

How can I show all the nodes from database?

This is my code:

public partial class treeview : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection("Data Source=........;Initial Catalog=EmployeeDB;Integrated Security=True");
    TreeNode PNode = new TreeNode();
protected void Page_Load(object sender, EventArgs e)
   {
      BindDataInTreeView();
   }

private void BindDataInTreeView()
   {
        SqlConnection con = new SqlConnection("Data Source=..............;Initial Catalog=EmployeeDB;Integrated Security=True");
     
        DataRow dr;
        TreeView1.Nodes.Clear();
        con.Open();
        string qry = "select * from Student1";
        SqlCommand cmd = new SqlCommand(qry,con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        PNode.CollapseAll();
        if (dt.Rows.Count > 0)
        {
            for (int i = 0; i <= dt.Rows.Count-1; i++)
            {
                dr = dt.Rows[i];
                switch (dr["StudentId"].ToString())
                {
                    case "1":
                        PNode = new TreeNode(dr["StudentName"].ToString().Trim());
                        this.TreeView1.Nodes.Add(PNode);
                        break;
                }
                PNode.ExpandAll();
            }
          
        }
    }

protected void btnsave_Click(object sender, EventArgs e)
    {
       con.Open();
       string qry = "insert into Student1 values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";
          SqlCommand cmd = new SqlCommand(qry,con);
           cmd.ExecuteNonQuery();
           con.Close();
           BindDataInTreeView();
    }
 }

推荐答案

如果我了解您的权利,这将是您的解决方案
If i understand you right this would be ur Solution
SqlConnection con = new SqlConnection(@"Data Source=.;Initial Catalog=test;Integrated Security=True");
    TreeNode PNode = new TreeNode();
    protected void Page_Load(object sender, EventArgs e)
    {
        BindDataInTreeView();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        con.Open();
        string qry = "insert into Student1 values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')";
        SqlCommand cmd = new SqlCommand(qry, con);
        cmd.ExecuteNonQuery();
        con.Close();
        BindDataInTreeView();
    }

    private void BindDataInTreeView()
    {
        //SqlConnection con = new SqlConnection("Data Source=..............;Initial Catalog=EmployeeDB;Integrated Security=True");

        DataRow dr;
        TreeView1.Nodes.Clear();
        con.Open();
        string qry = "select * from Student1";
        SqlCommand cmd = new SqlCommand(qry, con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        PNode.CollapseAll();
        if (dt.Rows.Count > 0)
        {
            for (int i = 0; i <= dt.Rows.Count - 1; i++)
            {
                 dr = dt.Rows[i];
                //switch (dr["StudentId"].ToString())
                //{
                //    case "1":
                //        PNode = new TreeNode(dr["StudentName"].ToString().Trim());
                //        this.TreeView1.Nodes.Add(PNode);
                //        break;


                 PNode = new TreeNode(dr["StudentName"].ToString().Trim());
                 this.TreeView1.Nodes.Add(PNode);
                PNode.ExpandAll();
            }

        }
    }


这篇关于我想在Treeview中显示所有节点,无论我在数据库中输入什么...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆