如何从树状视图获取复选框选中的值在C#? [英] How to get checkbox checked value from Treeview in c#?

查看:145
本文介绍了如何从树状视图获取复选框选中的值在C#?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从树状视图复选框选中的值。

I want to get checkbox checked value from Treeview.

我绑定从Oracle数据库中的数据的树形。

I bind the data from oracle database on Treeview.

code:

   protected void Page_Load(object sender, EventArgs e)
    {

        fill_Tree2();
    }

    void fill_Tree2()
    {

        DataSet PrSet = PDataset("Select * from Activity_Parent");

        TreeView1.Nodes.Clear();

        foreach (DataRow dr in PrSet.Tables[0].Rows)
        {

            TreeNode tnParent = new TreeNode();

            tnParent.CollapseAll();

            tnParent.Text = dr[1].ToString();

            tnParent.Value = dr[0].ToString();

            tnParent.ToolTip = "Click to get Child";

            TreeView1.Nodes.Add(tnParent);

            FillChild(tnParent, tnParent.Value);

        }
    }

    public void FillChild(TreeNode parent, string ParentId)
    {

        DataSet ds = PDataset("Select * from Activity_child where Activity_ID =" + ParentId);

        parent.ChildNodes.Clear();

        foreach (DataRow dr in ds.Tables[0].Rows)
        {

            TreeNode child = new TreeNode();

            child.Text = dr["ActivityName"].ToString().Trim();

            child.Value = dr["ActivityChild_ID"].ToString().Trim();

            parent.ChildNodes.Add(child);
        }

    }

    protected DataSet PDataset(string Select_Statement)
    {

        OleDbConnection DbConnection = new OleDbConnection("Provider=MSDAORA.SNIDB;Data Source=SNIDB;User ID=AZRAAR;Password=AZRAAR");

        OleDbDataAdapter ad = new OleDbDataAdapter(Select_Statement, DbConnection);

        DataSet ds = new DataSet();

        ad.Fill(ds);

        ViewState["ds"] = ds;

        return ds;

    }

在下面的按钮点击事件,我尝试,但它不工作

In the below Button click event,I tried but it is not working

    protected void btnGet_Click(object sender, EventArgs e)
    {
        DataSet ds1= (DataSet)ViewState["ds"];
        foreach (DataRow dr in ds1.Tables[0].Rows)
        { 
          TreeNode tn = new TreeNode();
          if (tn.Checked == true)
          {
              Response.Write(tn.Text);

          }
          tn.Text = dr["ActivityName"].ToString(); 
          TreeView1.Nodes.Add(tn); 
        } 
     }
}

在下面的图片,如果我选择复选框HR活动1,开发Activity3等,

In the below image if I select Checkbox HR Activity1, Developer Activity3 etc.,

我想获得该值

任何想法?在此先感谢

推荐答案

一个简单的方式来获得所有选定树节点的集合将是:

A simple way to get a collection of all selected TreeNodes would be:

private List<TreeNode> AllCheckedNodes = new List<TreeNode>();

private void GetAllCheckedNodes()
{
    for (int i = 0; i < TreeView1.CheckedNodes.Count; i++)
    {
        AllCheckedNodes.Add(TreeView1.CheckedNodes[i]);
    }
}

这篇关于如何从树状视图获取复选框选中的值在C#?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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